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

如果成功,则返回 TRUE ,否则返回 FALSE 。 要获得更多的错误信息,请调用 GetLastError。

注解

如果 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 文件中的资源。 与 EnumResourceNamesEnumResourceTypes 不同,此搜索将查看多个 .mui 文件。 枚举从与 EnumUILanguages 关联的文件夹中的 .mui 文件开始。 这些文件后跟任何其他 .mui 文件,其路径符合 MUI 资源管理中所述的方案。 最后,还会搜索 由 hModule 指定的文件。

枚举永远不会包含重复项:如果 LN 文件和 .mui 文件中都包含具有相同名称、类型和语言的资源,则资源将仅枚举一次。

示例

有关示例,请参阅 创建资源列表

注意

winbase.h 标头将 EnumResourceLanguages 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

概念性

EnumResLangProc

EnumResourceLanguagesEx

EnumResourceNames

EnumResourceTypes

引用

资源