Hallo,
ich möchte unter Delphi 6 Professional mit folgender Funktion die Version des installierten Windows auslesen:
Delphi-Quellcode:
function GetOperatingSystem(): Integer;
// Bestimmt die Versionsnummer des Betriebssystems.
var
osVerInfo: TOSVersionInfo;
majorVer, minorVer: Integer;
begin
osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if GetVersionEx(osVerInfo) then
begin
majorVer := osVerInfo.dwMajorVersion;
minorVer := osVerInfo.dwMinorVersion;
case osVerInfo.dwPlatformId of
// Windows NT/2000
VER_PLATFORM_WIN32_NT:
begin
if majorVer <= 4 then
Result := cOsWinNT
else if (majorVer = 5) and (minorVer = 0) then
Result := cOsWin2000
else if (majorVer = 5) and (minorVer = 1) then
Result := cOsXP
else
Result := cOsUnknown;
end;
// Windows 9x/ME
VER_PLATFORM_WIN32_WINDOWS:
begin
if (majorVer = 4) and (minorVer = 0) then
Result := cOsWin95
else if (majorVer = 4) and (minorVer = 10) then
begin
if osVerInfo.szCSDVersion[1] = 'A' then
Result := cOsWin98SE
else
Result := cOsWin98;
end
else if (majorVer = 4) and (minorVer = 90) then
Result := cOsWinME
else
Result := cOsUnknown;
end;
else
Result := cOsUnknown;
end;
end
else
Result := cOsUnknown;
end;
Das funktioniert auch ganz gut, ausser unter Windows XP 64-Bit und Windows Vista. Es wird dann einfach 'cOsUnknown' zurückgegeben. Wie muss die Funktion erweitert werden, damit auch diese Betriebssysteme erfasst werden?
Oder gibt es eine Alternative, die diese beiden Betriebssysteme auch erkennt?
Vielen Dank im Voraus,
Luzzi.