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