FindResource是一個計算機函數(shù)。該函數(shù)確定指定模塊中指定類型和名稱的資源所在位置。參數(shù)編輯hModule:處理包含資源的可執(zhí)行文件的模塊。NULL值則指定模塊句柄指向操作系統(tǒng)通常情況下創(chuàng)建最近過程的相關(guān)位圖文件。lpName:指定資源名稱。若想了解更多的信息,請參見注意部分。lpType:指定資源類型。若想了解更多的信息,請參見注意部分。作為標準資源類型。這個參數(shù)的含義同EnumResLangPRoc/lpType。返回值:如果函數(shù)運行成功,那么返回值為指向被指定資源信息塊的句柄。為了獲得這些資源,將這個句柄傳遞給LoadResource函數(shù)。如果函數(shù)運行失敗,則返回值為NULL。若想獲得更多錯誤信息,請調(diào)用GetLastError函數(shù)。HRSRC hrFile = FindResource(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_EXE1), "EXE "); //返回指向被指定資源信息塊的句柄 LoadResourceLoadResource,計算機用語。意思是裝載指定資源到全局存儲器。函數(shù)功能:該函數(shù)裝載指定資源到全局存儲器。函數(shù)原型; HGLOBAL LoadResource(HMODULE hModule,HRSRC hReslnfo);參數(shù):hModule:處理包合資源的可執(zhí)行文件的模塊句柄。若hModule為NULL,系統(tǒng)從當(dāng)前過程中的模塊中裝載資源。hReslnfo:將被裝載資源的句柄。它必須由函數(shù)FindResource或FindResourceEx創(chuàng)建。返回值:如果函數(shù)運行成功,返回值是相關(guān)資源的數(shù)據(jù)的句柄。如果函數(shù)運行失敗,返回值為NULL。若想獲得更多的錯誤信息,請調(diào)用GetLastError函數(shù)。注意:LoadResource的返回類型是向后兼容的HGLOBAL型,而不是因為函數(shù)返回一個全局存儲塊句柄。不要傳遞這個句柄給函數(shù)GlobalLock或GlobalFree。為了得到更多資源數(shù)據(jù)信息,請調(diào)用LockResource函數(shù)。當(dāng)使用完資源后,必須通過調(diào)用函數(shù)以釋放加速器表、位圖、光標、圖標以及菜單所占的內(nèi)存資源:加速器表:DestroyAcceleratorTable;位圖:DeleteObject;光標:DestroyCursor;圖標:Destroylcon;菜單:DestroyMenu。當(dāng)過程創(chuàng)建終止時,系統(tǒng)將自動刪除這些資源。但是調(diào)用相關(guān)函數(shù)也可以保留內(nèi)存減少過程的工作設(shè)置所占空間。HGLOBAL hgFile = LoadResource(AfxGetInstanceHandle(),hrFile); 返回相關(guān)資源的數(shù)據(jù)的句柄LockResourceLockResource是指鎖定資源并得到資源在內(nèi)存中的第一個字節(jié)的指針。函數(shù)功能編輯該函數(shù)鎖定內(nèi)存中的指定資源,說白了就是返回資源在內(nèi)存中的地址,不須解鎖操作。簡介編輯函數(shù)原型:LPVOID LockResource(HGLOBAL hResData);參數(shù):hResDate:被裝載的資源的句柄。函數(shù)LoadResource可以返回這個句柄。返回值:如果被裝載的資源被鎖住了,返回值是資源第一個字節(jié)的指針;否則為NULL。注意:通過使用函數(shù)FindResource或FindResourceEx返回句柄試圖鎖住資源,不再工作??梢苑祷匾粋€錯誤的數(shù)據(jù)和任意數(shù)據(jù)的指針。當(dāng)使用完資源后,必須通過調(diào)用函數(shù)以釋放加速器表、位圖、光標、目標以及某單所占的內(nèi)存資源:加速器表:DestroyAcceleratorTable;位圖:DeleteObject;光標:DestroyCursor;圖標:Destroylcon;菜單:DestroyMenu。當(dāng)過程創(chuàng)建終止時,系統(tǒng)將自動刪除這些資源。但是調(diào)用相關(guān)函數(shù)也可以保留內(nèi)存減少過程的工作設(shè)置所占空間。速查:Windows NT 3.1、Windows 95、Windows CE 1.0以上,頭文件:winbase.h;庫文件:kerne132.lib。返回是資源第一個字節(jié)的指針 (內(nèi)存地址)SizeofResourceSizeofResource表示該函數(shù)返回指定資源的字節(jié)數(shù)大小。函數(shù)功能:該函數(shù)返回指定資源字節(jié)數(shù)大小。函數(shù)原型:DWord SizeofResource(HMODULE hModule,HRSRC hReslnfo);參數(shù):hModule:包合資源的可執(zhí)行文件模塊的句柄。hReslnfo:資源句柄。此句柄必須由函數(shù)FindResource或FindResourceEx來創(chuàng)建。返回值:如果函數(shù)運行成功,返回值資源的字節(jié)數(shù)。如果函數(shù)運行失敗,返回值為零。若想獲得更多的錯誤信息,請調(diào)用GetLastError函數(shù)。速查:Windows NT 3.1、Windows 95、Windows CE 1.0以上,頭文件:winbase.h;庫文件:kerne132.lib。返回資源大小HANDLE hfFile = CreateFile( "C://amn.exe ",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0); DWORD nFileLength = SizeofResource(AfxGetInstanceHandle(),hrFile); DWORD nWriteLength; WriteFile(hfFile,pvFile,nFileLength,&nWriteLength,NULL); CloseHandle(hfFile); FreeResource(hrFile);
新聞熱點
疑難解答