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 = 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 |
標頭 | winbase.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |
另請參閱
概念
其他資源
參考