如何使用VerQueryValue?

eas*_*est 2 winapi

我有一个需要从特定的DLL检索版本信息的exe(例如:FileDescription).我的代码已经调用了GetFileVersionInfoSize和GetFileVersionInfo.但即使经过http://msdn.microsoft.com/en-us/library/ms647464(v=vs.85)和其他示例,我也不确定如何应用VerQueryValue .

有人可以解释/阐明如何应用VerQueryValue及其用法吗?谢谢.

aba*_*ert 6

要通过VerQueryValue获取FileDescription,只需复制并粘贴VerQueryValue文档中的示例代码,并根据需要进行修改.

该示例代码背后的基本思想是:

  • 使用第二种形式(\ VarFileInfo\Translation)获取翻译列表.
  • 然后使用第三种形式(\ StringFileInfo\lang-codepage\string-name)来获取字符串.

(第一个form()仅用于VS_FIXEDFILEINFO,版本号部分,标志等的一组数值)

示例代码获取每种语言的FileDescription.如果你知道你只有一种语言(例如,因为你正在查看自己的应用程序,并且没有翻译),你可以跳过循环并返回第一个.对于更一般的用途,您希望为用户的语言选择最佳匹配并返回该语言.