首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows如何解释多个VersionInfo资源?

Windows如何解释多个VersionInfo资源?
EN

Stack Overflow用户
提问于 2014-05-26 07:38:35
回答 1查看 839关注 0票数 5

我目前正在学习Windows的VersionInfo资源。您可以在一个VS_VERSIONINFO/VS_FIXEDFILEINFO资源中拥有多个VS_VERSION_INFO结构,这有点令人困惑。

据我所知,您可以使用不同的语言I拥有多个RT_VERSION->VS_VERSION_INFO参考资料。(如图所示)

这两个语言ids (0 and 1031)实际上各有两个不同的VS_VERSIONINFO/VS_FIXEDFILEINFO

0是一种中立的语言,似乎比实际的本地语言id (即1031)优先。

对我来说,这似乎是一种混乱和混乱。如何能够在一个VS_VERSIONINFO资源中拥有多个VS_VERSION_INFO结构,重点是什么?Windows如何解释多个资源、结构?当您调用GetFileVersionInfo时,怎么可能只获得一个缓冲区?

这对我来说没有什么意义,我也找不到很多关于它的文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-26 10:14:13

  1. 您必须在文本信息和裸VS_FIXEDFILEINFO块之间做出区别。第一个块只存在一次。文本信息与语言有关。
  2. "Windows“不喜欢某个特定的窗口;)资源管理器所做的是另一回事。它只显示资源信息。但事实上,这只是字符串信息,而不是固定版本信息中的信息。
  3. 当您调用GetFileVersionInfo时,您将得到所有的语言块!VerQueryValue被用来访问单独的块。
  4. windows中的安装程序和其他例程只使用VS_FIXEDFILEINFO块。他们不关心任何文本块。这个块只存在一次。

我假设资源管理器只显示第一个文本块,也不喜欢特定的文本块。只需使用文本编辑器并交换资源文件中的块即可。但是资源编译器可能会重新排序它们。

要访问独立的部分:- VerQueryValue和"\“给出了固定版本的信息块VS_FIXEDFILEINFO - VerQueryValue和”\VarFileInfo\VerQueryValue“给出了一个翻译列表-带有"\StringFileInfo\langId_charset\keyname”,得到了特定的字符串部件

您可以在MSDN中找到这些信息

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23865037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档