函式功能
該函式確定指定模組中指定類型和名稱的資源所在位置。函式原型
HRSRC FindResource(HMODULE hModule,LPCTSTR lpName,LPCTSTR lpType);重要參數
hModule:處理包含資源的執行檔的模組。NULL值則指定模組句柄指向作業系統通常情況下創建最近過程的相關點陣圖檔案。lpName:指定資源名稱。若想了解更多的信息,請參見注意部分。
lpType:指定資源類型。若想了解更多的信息,請參見注意部分。作為標準資源類型。這個參數的含義同EnumResLangProc\lpType。
返回值:如果函式運行成功,那么返回值為指向被指定資源信息塊的句柄。為了獲得這些資源,將這個句柄傳遞給LoadResource函式。如果函式運行失敗,則返回值為NULL。若想獲得更多錯誤信息,請調用GetLastError函式。
注意:如果參數lpType或lpName的高位元組為O,那么其低位元組中所給定的資源的類型或名稱標識說明。另外,這些參數指向以NULL為終止符的字元串。字元串的第一個字元是#,後面的字元表示十進制數來表示源類型或名稱的整數標識符。例如。字元串"#258"表示整數標識符258。
如果用整數標識符替代名稱提交資源,用程式將減少所需的記憶體容量。
當使用完加速器表,點陣圖,游標,圖示,或是選單後,可以通過調用下表所列舉的函式釋放記憶體。加速器表:DestroyAcceleratorTable;點陣圖:DeleteObject;游標:DestroyCursor;圖示:Destroylcon;選單DestroyMenu。
當過程創建資源終止時,系統將自動刪除這些資源。然而通過調用適當的函式可以保留記憶體,減少過程中工作設定所需的空間大小。
應用程式可以使用FindResource函式去查找任何種類資源,但是這個函式只有在應用程式並發調用LoadLibray和LockResource函式來存取二進制資源時才被使用。
如果想立即使用某一資源,應用程式將使用下面詳細資源函式列表中某一函式去查找裝載所需資源,FormatMessage:裝裁且格式化信息表接口:LoadAccclerators:裝載加速器表;LoadBltmap:裝載點陣圖資源;LoadCursor:裝載游標資源;Loadlcon:裝載圖示資源;
LoadMenu:裝載選單資源;LoadString:裝載字元串表資源。
例如,應用程式可以使用Loadlcon函式裝載某一圖示以在螢幕上顯示。但是,如果是裝載某一圖示為了將它的數據複製到另一個應用程式中,那么這個應用程式就應該使用FindResource和LoadResource函式。
字元串資源存儲在由若干部分組成的某區域,每部分有16個字元串。每部分的字元串是按統一計數方式排列的有序隊形式存儲的。
TheLoadstring函式將從相應的區域中摘取字元串資源。
參數hModule不能為NULL句柄。
參數lpName不支持ID為零的資源,即FindResource(h,o,t)不能按預期工作。
不可能在IpTyPe參數中傳遞RT_ANICURSOR或RT_ANllCON的值。
速查:Windows NT3.1、Windows95、Windows CE1.0以上,頭檔案:winbase.h;庫檔案:kerne132.lib;Unicode;在Windows和Windows NT上實現為Unicode和ANSI兩種版本。