Visual c ++以编程方式获取文件本身的文件版本号

时间:2018-04-18 07:55:55

标签: windows visual-studio visual-studio-2012

我知道我可以调用GetFileVersionInfo() windows API来检索文件版本信息。

是否有更简单的方法从程序本身确定版本信息?

例如,假设我正在为Foo.dll编写代码,而在Foo.dll内,我想支持版本函数,例如GetFooVersion(),它会报告版本号{{1} }}

如果我必须使用Foo.dll,那么我需要搜索已链接(动态)的路径中的GetFileVersionInfo(),并应用Foo.dll。这很乏味且容易出错。

目标视觉工作室版本是VS2012。

1 个答案:

答案 0 :(得分:0)

遗憾的是,没有GetFileVersionInfoByHandle和GetFileVersionInfoFromModule。

您可以在自己的模块上使用FindResource等,但您必须自己解析版本信息,因为GetFileVersionInfo并不总是检索原始资源数据(它可以转换为Unicode等等) )。

另一个选择是将版本#defines放在你的函数和你的resource.rc可以使用的.h文件中,这样你只需要在版本更改时更新单个文件。