如何使用VerQueryValue?

2024-05-02

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

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


要通过 VerQueryValue 获取 FileDescription,只需复制并粘贴 VerQueryValue 文档中的示例代码,然后进行适当的修改。

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

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

(第一种形式()仅用于 VS_FIXEDFILEINFO,一组版本号、标志等部分的数值)

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用VerQueryValue? 的相关文章

随机推荐

  • 我应该声明我的函数模板专业化还是定义它们就足够了?

    我有一些课程可以检查 实现此功能的代码在头文件中声明一个函数模板 并将其专门用于不同的源文件 check h template
  • findbugs pmd checkstyle cobertura 的 Maven 声纳插件配置

    我需要一些帮助来为 Maven 项目设置代码质量插件 我有一个多模块项目 虽然我已经配置了pmd checkstyle findbugs and cobertura在我的构建过程中 我可以为每个插件生成 xml 报告 但我在项目中配置声纳插
  • 如何在 vue 组件的树视图中激活子类别?

    我有两个 vue 组件 我的第一个组件 父组件 如下所示
  • 转义双引号 JavaScript

    我试图在 iPhone 上查看时运行某种图像格式 在其他情况下运行一些 Flash 视频 var uagent navigator userAgent toLowerCase if uagent search iphone gt 1 doc
  • 从片段调用片段

    我想通过单击当前片段中的按钮来调用当前片段中的另一个片段 这是我的主要活动 import android app FragmentManager import android os Bundle import android support
  • 嵌套 CollectionView 和显示(使用 Visual Studio 2019、Xamarin XPlatform Android)

    嵌套 CollectionView 并在另一个中滚动 官方支持吗 显示这些集合问题 请参阅下面的我的数据模型和 XAML 代码 我没有可以放置生成的屏幕图像的站点 namespace Notes Models public class No
  • 如何在 cgdb 中滚动 gdb 窗口?

    使用 cgdb 时 如何滚动浏览 gdb 窗口中可见的输出 PgUp 和 PgDn 应该滚动 gdb 窗口 如果他们不这样做 请检查您的TERM环境变量并确保其设置正确
  • 具有现有仿射变换的 UIKit Dynamics

    我的观点有一些尺度上的转变 当我在其上应用一些 UIKit Dynamics 时 它会将它们归零 如何在视图上保留现有的转换 同时使其跳转 P 谢谢 看看 UIDynamicAnimator 的updateItemUsingCurrentS
  • 是否有 NoSQL 解决方案的比较(在某些情况下哪个更好?)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当我在 Linux PHP 架构中构建基于密钥的归档应用程序时 我正在尝试了解有关 NoSQL 的更多信息 谁能解释一下主要解决方案
  • 表单验证后 isValid 保持 false

    我有一个自定义验证函数 但即使它没有返回错误 表单仍然无效 我将以下属性传递给 Formik validate import files gt return import files values length 0 import files
  • 如何从 python 脚本更改 python 文件中的变量值

    我目前有一个 python 文件 其中包含一堆带有值的全局变量 我想从一个单独的 python 脚本永久更改这些值 我尝试过 setattr 等 但似乎不起作用 有没有办法做到这一点 简短的回答是 不 不值得这么麻烦 听起来您正在尝试创建一
  • Momentjs 时区 - 获取特定时区时间的日期

    我正在尝试根据用户特定时区的 UTC 基准 创建日期 在本例中使用 momentjs momentjs 时区的 美国 洛杉矶 但是 我没有得到我期望的结果 var tempDate moment 1448841600000 moment 2
  • Matplotlib 动画未显示

    当我在家里的电脑上尝试这个时 它可以工作 但在工作的电脑上却不行 这是代码 import numpy as np import matplotlib pyplot as plt import matplotlib animation as
  • 如何按给定顺序对列表进行排序?

    我正在尝试执行以下操作 我有一个预定义的列表 用作给定列表上的 排序依据 my orderby car boat chicken cat dog mouse or my orderby car gt 0 boat gt 1 chicken
  • Unpickle 二进制文件为文本[重复]

    这个问题在这里已经有答案了 我需要对基本上如下所示的系统进行一些维护 复杂的遗留Python程序 gt 二进制pickle文件 gt 另一个复杂的遗留Python程序 这需要准确弄清楚中间 pickle 文件中的内容 我怀疑文件格式比生成和
  • 正则表达式删除2个字符串之间的所有内容

    我的replaceAll 需要一个正则表达式来删除2 个字符串和字符串本身之间的所有内容 例如 如果我有类似的东西 stackoverflow is really awesome nremove123 n I love it 我试图做一个像
  • android 如何延迟执行

    我正在构建一款具有人工智能功能的安卓棋盘游戏 AI 轮流执行 必须调用一系列操作 然后将无效信息发布到我的自定义视图中进行更新 我需要放慢这些动作的速度 以便用户能够看到人工智能正在轮到它 而不是它一闪而过 我已经尝试过一些类似的事情 tr
  • Objective-C 复制视图

    所以我在这里有一个简短的问题 我有一个视图控制器对象的实例 让我们调用它viewCon1 并且它上面放置了几个子视图 每个子视图都具有独特的属性 让我们称呼他们吧sub1 sub2 and sub3 现在 我以编程方式添加每个子视图 执行以
  • 每次加载解决方案时,所有项目引用都有黄色三角形

    我的所有项目 来自同一解决方案 引用都标有黄色三角形 这些项目都设置为相同的 NET 版本 4 5 1 错误日志说 无法引用项目 CommonLibrary 暂时解决该问题的方法是 删除并重新添加引用 右键单击并选择 添加服务引用 并立即取
  • 如何使用VerQueryValue?

    我有一个 exe 需要从特定 dll 检索版本信息 例如 FileDescription 我的代码已经调用了 GetFileVersionInfoSize 和 GetFileVersionInfo 但我不知道如何应用 VerQueryVal