gpt4 book ai didi

c# - 使用 C# 从 native 二进制文件获取自定义文件版本信息

转载 作者:太空宇宙 更新时间:2023-11-04 14:28:18 26 4
gpt4 key购买 nike

我有一堆 native (C++) 二进制文件,我想从 C# 控制台应用程序中扫描和检索有关的版本信息。使用 System.Diagnostics.FileVersionInfo 我可以获得实际的版本字符串、公司名称等。但是那里有一个 "Build Date" 字符串(显示通过 Windows 文件属性 “版本” 选项卡),并且它未被 FileVersionInfo 检索。

似乎 "Build Date" 是放置在文件中的技术自定义数据,我想这就是为什么我 FileVersionInfo 不会自动获取此数据,而是有什么方法可以获取这些自定义值?

在 native 二进制文件中,“Build Date” 字符串通过 .RC 文件包含,使用以下部分:

BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904e4"
BEGIN
VALUE "Build Date", "11/03/2009"
VALUE "CompanyName", "My Company "
VALUE "FileDescription", "My DLL"
VALUE "FileVersion", VERSTR
VALUE "InternalName", "MyCode.dll"
VALUE "LegalCopyright", "Copyright © Me"
VALUE "ProductVersion", VERSTR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END

然后我尝试像这样在 C# 中检索信息:

FileVersionInfo ver = FileVersionInfo.GetVersionInfo(path);
Console.WriteLine(ver.ToString());

最佳答案

如果 FileVersionInfo 类不符合您的要求,您可以随时求助 the native version info APIs .

关于c# - 使用 C# 从 native 二进制文件获取自定义文件版本信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1667291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com