Det finns en Get_Major_Version men jag kan inte få det att fungera då man ska inkludera en ospecificierat fil.
Vad jag skulle vilja ha tag på är Major version, Minor version, Build osv.
Någon som kan?
Jepp, på Tek-Tips var det någon som kunde:
Kod: Markera allt
void VersionInfo::GetVersion(int& Major, int& Minor, int& Release, int& Build)
{
DWORD tempHandle = 0;
DWORD infoLen;
VS_FIXEDFILEINFO* fileInfo;
//-------------------------------------------------------------------------//
// //
// Obtain the length of the version information available. //
// If the length is not zero, create a buffer of the appropriate size, and //
// retrieve the information block. //
// Then retrieve the language-independant version information. //
// //
//-------------------------------------------------------------------------//
infoLen = GetFileVersionInfoSize(ParamStr(0).c_str(), &tempHandle);
if(infoLen > 0)
{
char* pBuf = (char *) malloc(infoLen);
unsigned int valueLen;
GetFileVersionInfo(ParamStr(0).c_str(), 0, infoLen, pBuf);
if(VerQueryValue(pBuf, "\\", (void **)&fileInfo, &valueLen))
{
Major = (int)((fileInfo->dwFileVersionMS >> 16) & 0xffff);
Minor = (int)((fileInfo->dwFileVersionMS ) & 0xffff);
Release = (int)((fileInfo->dwFileVersionLS >> 16) & 0xffff);
Build = (int)((fileInfo->dwFileVersionLS ) & 0xffff);
}
else
{
Major = 0;
Minor = 0;
Release = 0;
Build = 0;
}
//----------------------------------------------------------------------//
// //
// Free buffer. //
// //
//----------------------------------------------------------------------//
free(pBuf);
}
else
{
//----------------------------------------------------------------------//
// //
// Unable to obtain file version information. //
...
}
}