This code snippet will dynamically find the version of a Windows executable.
/*
Name: Dynamic Version Grabber
Copyright: 2006
Author: Tyson Collins
Date: 13/10/06 14:12
Description: Dynamically finds the version of your program (Win32 EXE)
*/
#include <cstdlib>
#include <windows.h>
#include <cstring>
#include <cstdio>
//Link -lversion
using namespace std;
int main(int argc, char *argv[])
{
DWORD buffer[2048];
DWORD size = GetFileVersionInfoSize(argv[0],buffer);
if(GetFileVersionInfo(argv[0],NULL,size,buffer))
{
unsigned int size2;
VS_FIXEDFILEINFO* fInfo;
VerQueryValue(buffer,"\",(LPVOID*)&fInfo,&size2);
if(fInfo)
{
char version[32];
sprintf(version,"%i.%i.%i.%i",HIWORD(fInfo->dwFileVersionMS),LOWORD(fInfo->dwFileVersionMS),
HIWORD(fInfo->dwFileVersionLS),LOWORD(fInfo->dwFileVersionLS));
cout << version << endl;
}
}
else {
cout << "Unable to retrieve version information." << endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
This article hasn't been commented yet.
Write a comment
·
·