我知道我可以调用GetFileVersionInfo()
Windows API来检索文件版本信息。
有没有更简单的方法可以从程序本身内部确定版本信息?
比如假设我正在为Foo.dll
编写代码,在Foo.dll
内部,我想支持一个版本函数,比如GetFooVersion()
,它报告Foo.dll
的版本号。
如果我必须使用 GetFileVersionInfo()
,那么我需要搜索链接的路径中的哪个Foo.dll
(动态(,并应用 GetFileVersionInfo()
. 这很乏味且容易出错。
目标Visual Studio版本是VS2012。
没有GetFileVersionInfoByHandle,也没有GetFileVersionInfoFromModule。
您可以在自己的模块上使用FindResource
等,但您必须自己解析版本信息GetFileVersionInfo
因为并不总是检索原始资源数据(它可以转换为 Unicode 等(。
另一种选择是将版本 #defines 放在函数和 resource.rc 可以使用的 .h 文件中,这样您只需在版本更改时更新单个文件。