是否可以在Windows资源管理器的“属性/详细信息”中显示的文件中添加版本号

时间:2011-10-05 10:31:01

标签: c++ windows

我有一个非托管的C ++项目,我将数据写入我定义的自定义文件格式。

我想知道的是,是否有办法添加与Windows资源管理器兼容的标头,以便显示版本号,如下面显示Windows字体的示例所示。

Example

这样做的目的是让非技术娴熟的用户只需右键单击并识别文件的版本,而无需在记事本等中打开它。

任何帮助都将不胜感激。

汤姆

3 个答案:

答案 0 :(得分:6)

一般情况下,您无法为文件实现此目的。但是,如果您的文件格式存储版本信息,您可以教Windows资源管理器显示它。

您必须为资源管理器编写 Shell扩展,它可以从您的文件中提取任意信息。此扩展必须安装在目标计算机上并在注册表中注册。

可以找到有关如何编写和注册Shell Extensions的优秀指南here on CodeProject。 (第八部分应涵盖你需要的内容)

答案 1 :(得分:3)

版本信息来自VERSIONINFO resource,附加到二进制文件,例如.EXE或.DLL。因此很容易将此类资源链接到您的构建目标,此资源也是可编辑的。

但是,这仅限于二进制可执行文件,您无法将此资源信息附加到任意文件(如您所愿),包括文本文件等。

答案 2 :(得分:2)

在VC中,只需转到菜单Project-> AddResource并选择Version。