c++ 獲取檔案版本號
阿新 • • 發佈:2018-12-14
連結器->輸入->附加依賴項 新增Version.lib,msdn上記錄的是新增mincore.lib,這個是錯的。
標頭檔案:Winver.h
GetCurrentVersion() { wchar_t versionCurrent[25]; wchar_t versionPath[MAX_PATH]=TEXT("路徑"); DWORD fileVersionSize = GetFileVersionInfoSizeW(versionPath, 0); wchar_t *lpData = new wchar_t[fileVersionSize]; if (!GetFileVersionInfo(versionPath, NULL, fileVersionSize, lpData)) { CString str; str.Format(TEXT("錯誤1:%d"), GetLastError()); MessageBox(str); delete lpData; return; } VS_FIXEDFILEINFO *versionInfo; PUINT uint = 0; if (!VerQueryValue(lpData, TEXT("\\"), (LPVOID*)&versionInfo, uint)) { CString str; str.Format(TEXT("錯誤2:%d"), GetLastError()); MessageBox(str); delete lpData; return; } wnsprintf(versionCurrent, 25, TEXT("%d.%d.%d.%d"), HIWORD(versionInfo->dwProductVersionMS), LOWORD(versionInfo->dwProductVersionMS), HIWORD(versionInfo->dwProductVersionLS), LOWORD(versionInfo->dwProductVersionLS)); delete lpData; }