V
UNGLAUBLICH !!!! Aber es funktioniert
ich freu mich so
VIELEN VIELEN DANK !!!!!!!
Hier nochma der Code:
#include<iostream>
#include<afx.h>
#include<string>
#include<winver.h>
using namespace std;
CString GetFileVersionString(const CString &FileName)
{
char* fname_1 = new char [FileName.GetLength() +1];
strcpy(fname_1,FileName);
// prüfen ob überhaupt Info da sind
DWORD nSize = GetFileVersionInfoSize(fname_1, 0);
CString Result = "";
if (nSize)
{
char *pInfo = new char[nSize];
// Versionsinfo auslesen
GetFileVersionInfo(fname_1, 0, nSize, pInfo);
VS_FIXEDFILEINFO *FileInfo;
UINT uLen;
// Root-Information auslesen
VerQueryValue(pInfo, "\\", (void**) &FileInfo, (PUINT) &uLen);
// Versionsnummer bilden
Result.Format("%d.%d.%d.%d",
HIWORD(FileInfo->dwProductVersionMS),
LOWORD(FileInfo->dwProductVersionMS),
HIWORD(FileInfo->dwProductVersionLS),
LOWORD(FileInfo->dwProductVersionLS));
// Speicher freigeben (ich bin mir nicht sicher, aber vermutlich zeigt FileInfo auf diesen Datenbereich)
delete [] pInfo;
}
return Result;
}
int main (void)
{
CString FileVersion = "Version: " + GetFileVersionString("test.exe");
printf("%s",FileVersion);
return 0;
}