getversion.txt
来自「获取文件的版号」· 文本 代码 · 共 48 行
TXT
48 行
函数调用
CString version = GetApplicationVersion("E:\\software\\360safe\\360Safe.exe");
if(version.Compare("error") == 0)
{
AfxMessageBox("你所指定的文件无版本号或文件出错");
}else
{
AfxMessageBox(version);
}
CString GetApplicationVersion(CString FullPath)
{
TCHAR szFullPath[MAX_PATH];
DWORD dwVerInfoSize = 0;
DWORD dwVerHnd;
VS_FIXEDFILEINFO * pFileInfo;
strcpy(szFullPath,FullPath);
dwVerInfoSize = GetFileVersionInfoSize(szFullPath, &dwVerHnd);
if (dwVerInfoSize)
{
HANDLE hMem;
LPVOID lpvMem;
unsigned int uInfoSize = 0;
hMem = GlobalAlloc(GMEM_MOVEABLE, dwVerInfoSize);
lpvMem = GlobalLock(hMem);
GetFileVersionInfo(szFullPath, dwVerHnd, dwVerInfoSize, lpvMem);
::VerQueryValue(lpvMem, (LPTSTR)_T("\\"), (void**)&pFileInfo, &uInfoSize);
WORD m_nProdVersion[4];
m_nProdVersion[0] = HIWORD(pFileInfo->dwProductVersionMS);
m_nProdVersion[1] = LOWORD(pFileInfo->dwProductVersionMS);
m_nProdVersion[2] = HIWORD(pFileInfo->dwProductVersionLS);
m_nProdVersion[3] = LOWORD(pFileInfo->dwProductVersionLS);
CString strVersion ;
strVersion.Format(_T("%d.%d.%d.%d"),m_nProdVersion[0],
m_nProdVersion[1],m_nProdVersion[2],m_nProdVersion[3]);
GlobalUnlock(hMem);
GlobalFree(hMem);
return strVersion;
}
return "error";
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?