前言
产品信息是向用户展示自家产品的直接方式。虽然是否有产品信息对程序功能没有任何影响,但是程序如果缺少了产品信息给人的感觉是不够正规!作为一名负责任的开发人员,你一定想为自己写的程序添加产品信息。你知道该如何添加吗?如何自动更新版本信息吗?
产品信息对比
可以通过在某个应用程序文件上 右键,属性,在详细信息标签页下可以看到 文件说明,文件版本,产品名称,产品版本,版权 等信息。下图是 windbg.exe
的相关信息。
下图是另外一个程序的详细信息:
下面这个更过分,什么都没有:
怎么样?是不是觉得 windbg
比较正规?是不是也想为自己的程序加上产品信息?
添加产品信息
在生成程序之前,可以通过修改 .rc
文件中的相关字段来修改产品信息。下图是在 vs
资源视图中查看版本信息的截图。每一项都可以手动编辑。
如果觉得这样手动编辑麻烦,可以直接用记事本打开 .rc
文件进行编辑。
说明:如果新建的工程不带资源文件(比如,控制台程序),可以手动添加资源文件。
在解决方案管理器需要添加版本信息的工程中,右键,添加(D),资源(R)… ,在弹出的添加资源对话框中选择 Version,然后点击 新建(N) 按钮即可。
更进一步
当然可以像上面那样手动修改版本信息,但是如果代码中也需要使用版本信息呢?比如,在关于界面显示版本号。
如果想让多个程序中使用同一个版本信息呢?比如,版权信息中的年份,每年都需要修改。如果有 100
多个工程,岂不是要修改 100
多次?
能否只修改一次,所有的程序都跟着变呢?
如果 .rc
文件可以像普通源文件那样 #include
头文件,并能使用其中的宏就可以通用了。
答案是肯定的。.rc
文件默认都会有一句 #include resource.h
。
自定义产品信息
先在 appver.h
中定义相关字段,如下图:
然后在 .rc
文件的开始位置 #include "appver.h"
,并且修改 Version
相关字段如下图所示。
这样编译出来的程序就会使用 appver.h
中的相关字段了。
特别提醒:
appver.h
最后一定要保留一个空行,否则编译的时候会报错。
自动更新产品信息
如果希望每次发布版本的时候自动更新版本号。可以设置编译脚本,在开始编译前触发该脚本。该脚本可以从版本管理系统获取对应的版本号,进而修改 appver.h
的内容。
这里就不作演示了。
总结
经过以上的操作,一个简单的版本信息自动更新的机制就建立起来了,妈妈再也不用担心我写的程序没有版本信息了。
再次强调:可以在 .rc
文件中也可以使用 #include
语句,并使用其中的宏。