1
0
forked from 0ad/0ad
0ad/source/tools/sced/ui/UIGlobals.cpp

38 lines
1.0 KiB
C++
Executable File

#include "precompiled.h"
#include "stdafx.h"
#include "UIGlobals.h"
void GetVersionString(char* buf)
{
// null version in case API calls fail for some reason
int version[4];
version[0]=version[1]=version[2]=version[3]=0;
// get filename of process currently running
char filename[256];
::GetModuleFileName(0,filename,256);
DWORD unused;
DWORD len=::GetFileVersionInfoSize(filename,&unused);
if (len>0) {
char* versioninfo=new char[len];
GetFileVersionInfo(filename,0,len,versioninfo);
VS_FIXEDFILEINFO* fileinfo;
UINT size;
if (VerQueryValue(versioninfo,"\\",(LPVOID*) &fileinfo,&size)) {
version[0]=HIWORD(fileinfo->dwFileVersionMS);
version[1]=LOWORD(fileinfo->dwFileVersionMS);
version[2]=HIWORD(fileinfo->dwFileVersionLS);
version[3]=LOWORD(fileinfo->dwFileVersionLS);
}
delete[] versioninfo;
}
sprintf(buf,"Version: %d.%d.%d.%d",version[0],version[1],version[2],version[3]);
}
void ErrorBox(const char* errstr)
{
::MessageBox(0,errstr,"Error",MB_OK);
}