FindResourceW 函式 (libloaderapi.h)

決定具有指定模組中指定類型和名稱的資源位置。

若要指定語言,請使用 FindResourceEx 函式。

語法

HRSRC FindResourceW(
  [in, optional] HMODULE hModule,
  [in]           LPCWSTR lpName,
  [in]           LPCWSTR lpType
);

參數

[in, optional] hModule

類型: HMODULE

模組的句柄,其可攜式可執行檔或隨附的 MUI 檔案包含資源。 如果此參數為 NULL,函式會搜尋用來建立目前進程的模組。

[in] lpName

類型: LPCTSTR

資源名稱。 或者,這個參數可以是 MAKEINTRESOURCE (標識碼) ,其中ID是資源的整數標識碼。 如需詳細資訊,請參閱下面的<備註>一節。

[in] lpType

類型: LPCTSTR

資源類型。 或者,這個參數可以是 MAKEINTRESOURCE (標識碼) ,其中ID是指定之整數標識碼

資源類型。 如需標準資源類型,請參閱 資源類型。 如需詳細資訊,請參閱下面的<備註>一節。

傳回值

類型: HRSRC

如果函式成功,則傳回值是指定之資源資訊區塊的句柄。 若要取得資源的句柄,請將此句柄傳遞至 LoadResource 函式。

如果函式失敗,則傳回值為 NULL。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。

備註

如果 x = lpName 或 lpType IS_INTRESOURCE為 TRUE,x 會指定指定資源名稱或類型的整數識別碼。 否則,這些參數是 Null 終止字串的長指標。 如果字串的第一個字元是 (#) 的井字元號,其餘字元代表指定資源名稱或類型的整數標識碼的十進制數。 例如,字串 “#258” 代表整數標識碼 258。

若要減少資源所需的記憶體數量,應用程式應該以整數標識符來參考它,而不是依名稱參考。

應用程式可以使用 FindResource 來尋找任何類型的資源,但只有在應用程式必須透過對 LoadResource 和 LockResource 進行後續呼叫來存取二進位資源數據時,才應該使用此函式。

若要立即使用資源,應用程式應該使用下列其中一個資源特定的函式來尋找資源,並將數據轉換成更可用的形式。

函式 動作
FormatMessage 載入並格式化消息表專案。
LoadAccelerators 載入快速鍵數據表。
LoadBitmap 載入點圖資源。
LoadCursor 載入數據指標資源。
LoadIcon 載入圖示資源。
LoadMenu 載入功能表資源。
LoadString 載入字串數據表專案。

例如,應用程式可以使用 LoadIcon 函式來載入圖示來顯示在螢幕上。 不過,如果應用程式正在載入圖示以將其數據複製到另一個應用程式,則應用程式應該使用 FindResource 和 LoadResource 。

字串資源會儲存在每個區段最多 16 個字串的區段中。 每個區段中的字串會儲存為一連串的計數 (不一定以 Null 終止的) Unicode 字串。 LoadString 函式會從其對應的區段擷取字串資源。

範例

如需範例,請參閱 更新資源。

規格需求

需求 值
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 libloaderapi.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

概念

FindResourceEx
FormatMessage
IS_INTRESOURCE
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadResource
LoadString
LockResource

其他資源

參考

資源
SizeofResource