BOOL GetFileVersion(LPCTSTR strFile, CString& strVersion)
{
TCHAR szVersionBuffer[4096] = _T("");
DWORD dwVerSize;
DWORD dwHandle;
dwVerSize = GetFileVersionInfoSize(const_cast<char *>(strFile), &dwHandle);
if (dwVerSize == 0)
return FALSE;
if (GetFileVersionInfo(const_cast<char *>(strFile), 0, dwVerSize, szVersionBuffer))
{
VS_FIXEDFILEINFO * pInfo;
unsigned int nInfoLen;
if (VerQueryValue(szVersionBuffer, _T("//"), (void**)&pInfo, &nInfoLen))
{
strVersion.Format(_T("%d.%d.%d.%d"),
HIWORD(pInfo->dwFileVersionMS), LOWORD(pInfo->dwFileVersionMS),
HIWORD(pInfo->dwFileVersionLS), LOWORD(pInfo->dwFileVersionLS));
return TRUE;
}
}
return FALSE;
}
怎样获取exe,dll,ocx等PE文件的版本号
最新推荐文章于 2022-03-31 07:30:00 发布