void getFileVersionInfo(QString &strProductVersion, QString &strFileVersion)
{
QString fullName = QCoreApplication::applicationFilePath();
std::string strTemp = fullName.toStdString();
LPCSTR str_path = strTemp.c_str();
DWORD vHandle = 0;
DWORD dwLen = GetFileVersionInfoSizeA(str_path, &vHandle);
if (0 == dwLen) {
return;
}
char* lpData = (char*)malloc(dwLen + 1);
if (NULL == lpData) {
return;
}
do {
// ProductVersion
BOOL bSuccess = GetFileVersionInfoA(str_path, 0, dwLen + 1, lpData);
if (!bSuccess) break;
LPVOID lpBuffer = NULL;
UINT uLen = 0;
bSuccess = VerQueryValueA(lpData, "\\StringFileInfo\\080404b0\\ProductVersion", &lpBuffer, &uLen);
if (!bSuccess) {
DWORD ttt = GetLastError();
break;
}
strProductVersion = QString::fromLatin1((char *)lpBuffer);
// FileVersion
lpBuffer = NULL;
uLen = 0;
bSuccess = VerQueryValueA(lpData, "\\StringFileInfo\\080404b0\\FileVersion", &lpBuffer, &uLen);
if (!bSuccess) {
DWORD ttt = GetLastError();
break;
}
strFileVersion = QString::fromLatin1((char *)lpBuffer);
} while (false);
free(lpData);
lpData = NULL;
}
10-30
4797
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-16
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交