1.引入Version.lib
#pragma comment(lib, "Version.lib ")
因为我们需要用到VerQueryValue,这一步不可缺少。
2.添加代码
CString CCamereCharCheckDlg::GetAppVersion()
{
CString m_csProductVersion;
/* 获得程序路径 */
char cPath[200];
::GetModuleFileName(NULL, cPath, sizeof(cPath)); //获取应用程序路径
/* 获得版本信息大小 */
DWORD dwHandle, InfoSize;
InfoSize = GetFileVersionInfoSize(cPath, &dwHandle); //获取版本信息总体的大小
if (InfoSize == 0)
{
AfxMessageBox(_T("None VerSion Supprot"));
return m_csProductVersion;
}
char *InfoBuf = new char[InfoSize];
GetFileVersionInfo(cPath, 0, InfoSize, InfoBuf); //获得生成文件使用的代码页及文件版本
unsigned int cbTranslate = 0;
/* 该结构用于获得版本信息的语言信息 */
struct LANGANDCODEPAGE
{
WORD wLanguage;
WORD wCodePage;
} *lpTranslate;
VerQueryValue(InfoBuf, TEXT("\\VarFileInfo\\Translation"), (LPVOID*)&lpTranslate, &cbTranslate);
for (int i = 0; i < (cbTra