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

我有一个非托pipe的C ++项目,我正在写数据到我定义的自定义文件格式。

我想知道的是,如果有一种方法可以添加一个与Windows资源pipe理器兼容的标题,以便显示一个版本号,如下面显示Windows字体的示例所示。

例

这样做的目的是让不懂技术的用户可以简单地右键单击并确定文件的版本,而不必在记事本中打开它。

任何帮助,将不胜感激。

汤姆

一般来说,你无法做到这一点。 但是,如果您的文件格式存储版本信息,则可以教Windows资源管理器显示它。

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

有关如何编写和注册Shell扩展的优秀指南可以在CodeProject上找到。 (第八部分应该涵盖你所需要的)

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

但是,这仅限于二进制可执行文件,并且不能将此资源信息附加到任意文件(如所需),包括文本文件等。

在VC中,进入菜单Project-> AddResource并选择Version。