StringTable结构描述了文件版本资源中数据的组织。这个结构不是真正的C语言结构,因为它包含可变长度的成员。此结构仅用于描述版本资源中的数据组织,并不出现在Microsoft Win32软件开发工具包(SDK)随附的任何头文件中。
StringTable结构包含由孩子成员指定的字符串的语言和代码页格式化信息。代码页是有序字符集。
StringTable {
WORD wLength;
WORD wValueLength;
WORD wType;
WCHAR szKey[];
String Children[];
};
会员
wLength
指定版本资源的长度。
wValueLength
指定当前VS_VERSION_INFO结构中值成员的长度。如果没有与当前版本结构相关联的值成员,则此值为零。
WTYPE
指定版本资源中的数据类型。如果版本资源包含文本数据,则该成员为1,如果版本资源包含二进制数据,则为0。
szKey
指定存储为Unicode字符串的8位十六进制数。四个最有意义的数字表示语言标识符。四个最低有效数字表示数据格式化的代码页。
每个Microsoft标准语言标识符包含两个部分:低阶10位指定主要语言,高阶6位指定子语言。有关有效标识符的表格,请参阅语言标识符.
填充
包含尽可能多的零字,以使孩子成员在32位边界上对齐。
孩子
指定零个或多个串结构的列表。
备注
StringFileInfo StringFileInfo结构中的孩子成员包含至少一个szKey值为“04091200”的szKey结构。该值表示该语言是美国英文和代码页是Unicode。
szKey成员的代码页面部分可以设置为1200(十进制)或0x04b0(十六进制)来表示Unicode。代码页也可以设置为适合于语言组件的值。选择代码页的值后,您应该继续在文件的后续版本中使用相同的值。
支持多种语言的可执行文件或动态链接库(DLL)应具有每种语言的版本资源,而不是包含多种语言字符串的单一版本资源。
也可以看看