资源管理器中未显示 DLL 版本信息
Posted
技术标签:
【中文标题】资源管理器中未显示 DLL 版本信息【英文标题】:DLL version information not displayed in explorer 【发布时间】:2014-02-26 12:07:22 【问题描述】:我目前正在经历一些奇怪的事情。 我为使用 Visual Studio Express 开发的 c++ 项目创建了一个资源文件。我使用 ResEdit 生成了一个初始的 resource.rc 文件,如下所示:
// Version Information resources
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
1 VERSIONINFO
FILEVERSION 0,0,0,0
PRODUCTVERSION 0,0,0,0
FILEOS VOS__WINDOWS32
FILETYPE VFT_UNKNOWN
FILESUBTYPE VFT2_UNKNOWN
FILEFLAGSMASK 0x00000000
FILEFLAGS 0x00000000
BLOCK "StringFileInfo"
BLOCK "040C04E4"
VALUE "Comments", ""
VALUE "CompanyName", "MyCompany"
VALUE "FileDescription", ""
VALUE "FileVersion", ""
VALUE "InternalName", ""
VALUE "LegalCopyright", "MyCopyRight"
VALUE "LegalTrademarks", ""
VALUE "OriginalFilename", ""
VALUE "PrivateBuild", ""
VALUE "ProductName", ""
VALUE "ProductVersion", "1.0"
VALUE "SpecialBuild", ""
BLOCK "VarFileInfo"
VALUE "Translation", 0x040C, 0x04E4
项目建立后,如果我在资源管理器中右键单击二进制文件,我可以看到“版本”选项卡。但是所有字段都是空白的,尽管我可以通过编程方式检索 vsver 信息。 :( 任何的想法 ?这个 RC 文件有问题吗? 我使用的是法语版的 Windows XP SP2 或 3。
【问题讨论】:
如果注释掉LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
部分并重新编译会发生什么?
@MicroVirus:同样的事情......字段保持空白:(
你可以试试这个:***.com/questions/19890318/…。 (它适用于美国英语 (0x0409) 和 Unicode (1200 / 0x04B0),但如果可行,您可以尝试更改语言和编码值)。或者这 ***.com/questions/852568/… 有帮助吗?
@microvirus 不幸的是,在发帖之前,我已经检查过这些帖子:(
【参考方案1】:
您的资源脚本无法编译。您需要在资源脚本的顶部包含Windows.h
头文件:
#include <Windows.h>
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
....
【讨论】:
以上是关于资源管理器中未显示 DLL 版本信息的主要内容,如果未能解决你的问题,请参考以下文章
Android Studios:Android 设备管理器在文件资源管理器中未显示 Nougat 7.0 的文件