FindResourceExW 函式 (libloaderapi.h)
會決定資源在指定模組中具有指定類型、名稱和語言的位置。
語法
HRSRC FindResourceExW(
[in, optional] HMODULE hModule,
[in] LPCWSTR lpType,
[in] LPCWSTR lpName,
[in] WORD wLanguage
);
參數
[in, optional] hModule
類型: HMODULE
模組的句柄,其可攜式可執行檔或隨附的 MUI 檔案包含資源。 如果此參數為 NULL,函式會搜尋用來建立目前進程的模組。
[in] lpType
類型: LPCTSTR
資源類型。 或者,此參數可以是 MAKEINTRESOURCE (標識碼) ,其中ID是指定資源類型的整數標識碼。 如需標準資源類型,請參閱 資源類型。 如需詳細資訊,請參閱下面的<備註>一節。
[in] lpName
類型: LPCTSTR
資源名稱。 或者,這個參數可以是 MAKEINTRESOURCE (標識碼) ,其中ID是資源的整數標識碼。 如需詳細資訊,請參閱下面的<備註>一節。
[in] wLanguage
類型: WORD
資源的語言。 如果此參數為 MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)
,則會使用與呼叫線程相關聯的目前語言。
若要指定目前語言以外的語言,請使用 MAKELANGID 宏來建立此參數。 如需詳細資訊,請參閱 MAKELANGID。
傳回值
類型: HRSRC
如果函式成功,則傳回值是指定資源資訊區塊的句柄。 若要取得資源的句柄,請將此句柄傳遞至 LoadResource 函式。
如果函式失敗,傳回值為 NULL。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如果 x = lpType 或 lpName IS_INTRESOURCE為 TRUE,x 會指定指定指定資源類型或名稱的整數識別碼。 否則,這些參數是 Null 終止字串的長指標。 如果字串的第一個字元是井字型大小 (#) ,其餘字元代表十進位數,指定資源名稱或類型的整數標識碼。 例如,字串 “#258” 代表整數標識碼 258。
若要減少資源所需的記憶體數量,應用程式應該以整數標識符來參考它,而不是依名稱來參考它。
應用程式可以使用 FindResourceEx 來尋找任何類型的資源,但只有在應用程式必須藉由對 LoadResource 進行後續呼叫,然後呼叫 LockResource 來存取二進位資源數據時,才應該使用此函式。
若要立即使用資源,應用程式應該使用下列其中一個資源特定函式來尋找資源,並將數據轉換成更可用的形式。
函式 | 動作 |
---|---|
FormatMessage | 載入並格式化訊息數據表專案。 |
LoadAccelerators | 載入快速鍵數據表。 |
LoadBitmap | 載入點圖資源。 |
LoadCursor | 載入數據指標資源。 |
LoadIcon | 載入圖示資源。 |
LoadMenu | 載入功能表資源。 |
LoadString | 載入字串數據表專案。 |
例如,應用程式可以使用 LoadIcon 函式來載入圖示以在畫面上顯示。 不過,如果應用程式正在載入圖示以將其數據複製到另一個應用程式,則應用程式應該使用 FindResourceEx 和 LoadResource 。
字串資源會儲存在每個區段最多 16 個字串的區段中。 每個區段中的字串會儲存為一連串的計數 (不一定以 Null 結尾) 的 Unicode 字串。 LoadString 函式會從其對應的區段擷取字串資源。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | libloaderapi.h (包含 Windows.h) |
DLL | Kernel32.dll |
另請參閱
FindResource
FormatMessage
IS_INTRESOURCE
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadResource
LoadString
MAKELANGID
其他資源
參考
資源