FindResourceA 函式 (winbase.h)

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

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

語法

HRSRC FindResourceA(
  [in, optional] HMODULE hModule,
  [in]           LPCSTR  lpName,
  [in]           LPCSTR  lpType
);

參數

[in, optional] hModule

類型: HMODULE

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

[in] lpName

類型: LPCTSTR

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

[in] lpType

類型: LPCTSTR

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

傳回值

類型: HRSRC

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

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

備註

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

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

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

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

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

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

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

範例

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

規格需求

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

另請參閱

概念

FindResourceEx

FormatMessage

IS_INTRESOURCE

LoadAccelerators

LoadBitmap

LoadCursor

LoadIcon

LoadMenu

LoadResource

LoadString

LockResource

其他資源

參考

資源

SizeofResource