【发布时间】:2018-06-06 21:06:49
【问题描述】:
我用 c++ 构建的 dll 有一个 .rc 文件,其中包含:
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,8,7
PRODUCTVERSION 1,0,8,7
我希望阅读FILEVERSION 值以登录我的代码。
我能怎么做?
我读了一些东西,但是所有的帖子都是相对于读取其他 dll 或 exe 的,我需要读取我当前的 dll
谢谢
【问题讨论】:
-
读取自己的版本资源比读取其他文件的资源要简单得多。您不会收到文件未找到错误。 GetFileVersionInfo() 需要路径,使用 GetModuleFileName() 获取。您需要的 HMODULE 在 DllMain() 中传递给您。如果您使用宏来创建 .rc 文件,那么您根本不需要它。谷歌“使用宏设置.rc文件版本号”提示。
-
谢谢,但我不需要设置文件版本,而是阅读它
-
是的,这很明显。 “根本不需要它”的角度是无需使用 GetFileVersionInfo() 的方式。未编写的代码永远不会失败,也不必维护。
-
@ghiboz 如果您在
.h文件中使用预处理器定义来指定.rc文件中的版本号,您也可以在.cpp代码中使用相同的.h文件,那么您就不需要在运行时动态查询版本号,它们在编译时已经可供您的代码使用。我认为这就是 Hans 所暗示的
标签: c++ visual-studio-2015 fileversioninfo