#pragma comment(lib, "winmm")
#pragma comment(lib, "version")
DWORD nullHandle, length;
int Version[4] = {1, 0, 0, 0};
TCHAR fileName[MAX_PATH];
GetModuleFileName(NULL, fileName, sizeof(fileName));
length = ::GetFileVersionInfoSize(fileName, &nullHandle);
if (length > 0) {
BYTE *pVerInfo = new BYTE [length];
if (::GetFileVersionInfo (fileName, NULL, length, pVerInfo)) {
UINT verLength;
LPVOID versionPtr;
if (::VerQueryValue(pVerInfo, _T ("\"), &versionPtr, &verLength))
{
VS_FIXEDFILEINFO vi = *(VS_FIXEDFILEINFO*)versionPtr;
// Major 1
Version[0] = vi.dwFileVersionMS>>16;
// Major 2
Version[1] = (vi.dwFileVersionMS<<16)>>16;
// Minor 1
Version[2] = vi.dwFileVersionLS>>16;
// Minor 2
Version[3] = (vi.dwFileVersionLS<<16)>>16;
}
}
delete pVerInfo;
}
CString strProgTitle;
strProgTitle.Format(_T("App v%d.%d.%d.%d"),
Version[0], Version[1], Version[2], Version[3]);
Original Post : http://neodreamer-dev.tistory.com/68
No comments :
Post a Comment