EnumResourceLanguagesA 函式 (winbase.h)
列舉與二進位模組相關聯之指定類型和名稱的語言特定資源。
語法
BOOL EnumResourceLanguagesA(
[in] HMODULE hModule,
[in] LPCSTR lpType,
[in] LPCSTR lpName,
[in] ENUMRESLANGPROCA lpEnumFunc,
[in] LONG_PTR lParam
);
參數
[in] hModule
類型:HMODULE
要搜尋之模組的句柄。 從 Windows Vista 開始,如果這是 語言中性可攜式可執行檔 (LN 檔案),則會在搜尋中包含適當的 .mui 檔案(如果有的話)。 如果這是特定的 .mui 檔案,則只會搜尋該檔案的資源。
如果此參數 NULL,這相當於將句柄傳遞至用來建立目前進程的模組。
[in] lpType
類型:LPCTSTR
要列舉語言的資源類型。 或者,除了指標之外,此參數也可以 MAKEINTRESOURCE(ID),其中 ID 是代表預先定義資源類型的整數值。 如需預先定義的資源類型清單,請參閱 資源類型。 如需詳細資訊,請參閱下面的一節。
[in] lpName
類型:LPCTSTR
要列舉語言的資源名稱。 或者,此參數可以 MAKEINTRESOURCE(ID),其中 ID 是資源的整數識別碼。 如需詳細資訊,請參閱下面的一節。
[in] lpEnumFunc
類型:ENUMRESLANGPROC
要針對每個列舉資源語言呼叫的回調函式指標。 如需詳細資訊,請參閱 EnumResLangProcA。
[in] lParam
類型:LONG_PTR
傳遞至回調函式的應用程式定義值。 此參數可用於錯誤檢查。
傳回值
類型:BOOL
如果成功或
言論
如果 IS_INTRESOURCE(lpType) TRUE,則 lpType 指定指定資源類型的整數標識符。 否則,它是以 Null 結尾字串的指標。 如果字串的第一個字元是磅號 (#),則其餘字元代表指定資源類型的整數標識碼的十進位數。 例如,字串 “#258” 代表標識碼 258。
同樣地,如果 IS_INTRESOURCE(lpName) TRUE,則 lpName 指定指定資源的整數標識碼。 否則,它是以 Null 結尾字串的指標。 如果字串的第一個字元是磅號 (#),則其餘字元代表指定資源整數標識碼的十進位數。
從 Windows Vista 開始,二進位模組通常是 語言中性可攜式可執行檔 (LN 檔案),列舉也會包含包含可當地語系化語言資源之對應語言特定資源檔 (.mui 檔案) 的資源。
針對找到的每個資源,EnumResourceLanguages 會呼叫應用程式定義的回呼函式 lpEnumFunc,並傳遞資源所找到之語言的語言標識符(請參閱 語言標識符),以及傳遞給 EnumResourceLanguages的各種其他參數。
或者,應用程式可以呼叫 EnumResourceLanguagesEx,以更精確地控制列舉哪些資源。
EnumResourceLanguages 函式會繼續列舉資源語言,直到回呼函式傳回 FALSE 或所有資源語言都已列舉為止。
在 Windows Vista 和更新版本中,如果 hModule 指定 LN 檔案,則列舉的資源可以位於 LN 檔案或與其相關聯的 .mui 檔案中。 如果找不到 .mui 檔案,則只會傳回 LN 檔案中的資源。 不同於 EnumResourceNames 和 EnumResourceTypes,此搜尋會查看多個 .mui 檔案。 列舉的開頭是與 EnumUILanguages相關聯的資料夾中的 .mui 檔案。 這些檔案後面接著任何其他 .mui 檔案,其路徑符合 MUI 資源管理中所述的配置。 最後,也會搜尋 hModule 所指定的檔案。
列舉永遠不會包含重複專案:如果相同名稱、類型和語言的資源同時包含在 LN 檔案和 .mui 檔案中,則資源只會列舉一次。
例子
如需範例,請參閱 建立資源清單。
注意
winbase.h 標頭會將 EnumResourceLanguages 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | winbase.h (包括 Windows.h) |
連結庫 | Kernel32.lib |
DLL | Kernel32.dll |
另請參閱
概念
參考