[D3] Wie erkennen ob NT oder 9x

Hallo,

wie kann ich mit Delphi rausbekommen, ob mein Programm unter Windos 9x/Me oder Windows NT/2000 läuft?

Danke & Gruß
Enno

Hi,

aus der Delphi-Fundgrube, www.pics-software.de

function GetWindowsVersion:string;
var
OsVinfo : TOSVERSIONINFO;
HilfStr : array[0…50] of Char;
begin
ZeroMemory(@OsVinfo,sizeOf(OsVinfo));
OsVinfo.dwOSVersionInfoSize := sizeof(TOSVERSIONINFO);
if GetVersionEx(OsVinfo) then begin
if OsVinfo.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then begin
if (OsVinfo.dwMajorVersion = 4) and
(OsVinfo.dwMinorVersion > 0) then
StrFmt(HilfStr,‚Windows 98 - Version %d.%.2d.%d‘,
[OsVinfo.dwMajorVersion, OsVinfo.dwMinorVersion,
OsVinfo.dwBuildNumber AND $FFFF])
else
StrFmt(HilfStr,‚Windows 95 - Version %d.%d Build %d‘,
[OsVinfo.dwMajorVersion, OsVinfo.dwMinorVersion,
OsVinfo.dwBuildNumber AND $FFFF]);
end;
if OsVinfo.dwPlatformId = VER_PLATFORM_WIN32_NT then begin
OsVinfo.dwMajorVersion = 5 then
StrFmt(HilfStr,‚Microsoft Windows 2000 Version %d.%.2d.%d‘,
[OsVinfo.dwMajorVersion, OsVinfo.dwMinorVersion,
OsVinfo.dwBuildNumber AND $FFFF]);
else
StrFmt(HilfStr,‚Microsoft Windows NT Version %d.%.2d.%d‘,
[OsVinfo.dwMajorVersion, OsVinfo.dwMinorVersion,
OsVinfo.dwBuildNumber AND $FFFF]);
end;
end
else
StrCopy(HilfStr,‚Fehler bei GetversionEx()!‘);
Result:=string(HilfStr);
end;

super, danke! :smile: (o.T.)
o.t.