ePyx-online.de Just a moment ;-)

7Mai/070

Windows Version in C ermitteln

Wenn man eigene Programme oder Tools schreibt, dann ist es teilweise nötig sie auf die entsprechende Windows Version abzustimmen, sonst kann man unter Umständen böse Überraschungen erleben.

Hier einmal ein kleine C-Programm, womit man sehr leicht erfährt welche Version denn nun läuft.
Das einzige Manko ist, Windows Vista wird noch nicht erkannt, aber daran kann man ja arbeiten.

[sourcecode language='c']
#include
#include
#include
using namespace std;

int main()
{
OSVERSIONINFO version;
version.dwOSVersionInfoSize=sizeof(version);
if (GetVersionEx(&version))
{
if (version.dwPlatformId == VER_PLATFORM_WIN32s)
cout <<"Win32 ";
else if (version.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
{
if(version.dwMinorVersion == 0 && (strchr(version.szCSDVersion,'B')==NULL)
&& (strchr(version.szCSDVersion,'C')==NULL))
cout <<"Windows 95 ";
else
if(version.dwMinorVersion == 0&& (strchr(version.szCSDVersion,'B')!=NULL))
cout <<"Windows 95 OSR 2 ";
else
if(version.dwMinorVersion == 0 && (strchr(version.szCSDVersion,'C')!=NULL))
cout <<"Windows 95 OSR 2.5 ";
else
if(version.dwMinorVersion == 10 && (strchr(version.szCSDVersion,'A')==NULL))
cout <<"Windows 98 ";
else if (version.dwMinorVersion == 10
&& (strchr(version.szCSDVersion,'A')!=NULL))
cout <<"Windows 98 Second Edition ";
}

else if (version.dwPlatformId == VER_PLATFORM_WIN32_NT)
if (version.dwMinorVersion == 90)
cout <<"Windows Millenium Edition ";
else if (version.dwMajorVersion==5)
cout <<"Windows XP ";
else
{
cout <<"Windows Version unbekannt ";
getchar();
exit(0);
}
cout < <<(version.dwBuildNumber & 0xffff)< }
else
cout <<"Die Windows Version kann nicht herausgefunden werden."< getchar();
return 0;
}
[/sourcecode]

hat dir dieser Artikel gefallen?

Dann abonniere doch diesen Blog per RSS Feed!

Kommentare (0) Trackbacks (0)

Zu diesem Artikel wurden noch keine Kommentare geschrieben.


Kommentar schreiben


Noch keine Trackbacks.