AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Windows-Version auslesen, auch XP 64-Bit und Vista?
Thema durchsuchen
Ansicht
Themen-Optionen

Windows-Version auslesen, auch XP 64-Bit und Vista?

Ein Thema von Luzzifus · begonnen am 22. Aug 2006 · letzter Beitrag vom 22. Aug 2006
 
Luzzifus

Registriert seit: 11. Jun 2006
14 Beiträge
 
Delphi 6 Professional
 
#1

Windows-Version auslesen, auch XP 64-Bit und Vista?

  Alt 22. Aug 2006, 17:17
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] = 'Athen
              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.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz