MFC中获取程序本身的版本号的函数
  admin 发表于 2013-07-07 00:26  分类:技术资料  4,363 次阅读  0条评论

要用到资源文件里设置的程序版本号,在AboutDlg中显示。

如下便是获取版本号的代码:

CString CUtility::GetAppVersion()
{
CHAR szAppPath[MAX_PATH] = {0};
::GetModuleFileName(NULL, szAppPath, MAX_PATH);

VS_FIXEDFILEINFO *VInfo;
UINT nVerInfoSize = GetFileVersionInfoSize(szAppPath, 0);
char* bufVerInfo = new char[nVerInfoSize];
CString strVer = “”;

if (GetFileVersionInfo(szAppPath, 0, nVerInfoSize, bufVerInfo) != 0)
{
if (VerQueryValue(bufVerInfo,”\\”,(LPVOID*)&VInfo,&nVerInfoSize))
{
WORD wVer1 = VInfo->dwFileVersionMS >> 16;
WORD wVer2 = VInfo->dwFileVersionMS & 0x00ff;
WORD wVer3 = VInfo->dwFileVersionLS >> 16;
WORD wVer4 = VInfo->dwFileVersionLS & 0x00ff;
strVer.Format(“%d.%d.%d.%d”, wVer1, wVer2, wVer3, wVer4);
}
}
delete []bufVerInfo;
return strVer;
}

对了,在使用这个函数之前,要链接version.lib,否则会提示没有实现的外部函数错误。

#pragma comment(lib,”Version.lib”)

本文固定链接: http://www.youduoshao.com/2013-07-07/201307072263.html

填写您的称呼和邮箱即可发布评论

快捷键:Ctrl+Enter