Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ist Vista installiert? (https://www.delphipraxis.net/138544-ist-vista-installiert.html)

Larsi 12. Aug 2009 11:07


Ist Vista installiert?
 
Hi,

wie kann man in Delphi überprüfen ob man Vista verwendet. Ich brauche keinen Code welcher mir alle Service Packs und den ganzen Quatsch anzeigt sondern eine simple Abfrage ob Vista das aktuelle Betriebssystem ist.

Folgenden Code habe ich im SwissDelphiCenter gesehen:


Delphi-Quellcode:
const
  { operating system (OS)constants }
  cOsUnknown = -1;
  cOsWin95 = 0;
  cOsWin98 = 1;
  cOsWin98SE = 2;
  cOsWinME = 3;
  cOsWinNT = 4;
  cOsWin2000 = 5;
  cOsXP = 6;


function GetOperatingSystem: Integer;
var
  osVerInfo: TOSVersionInfo;
  majorVer, minorVer: Integer;
begin
  Result := cOsUnknown;
  { set operating system type flag }
  osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
  if GetVersionEx(osVerInfo) then
  begin
    majorVer := osVerInfo.dwMajorVersion;
    minorVer := osVerInfo.dwMinorVersion;
    case osVerInfo.dwPlatformId of
      VER_PLATFORM_WIN32_NT: { Windows NT/2000 }
        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;
      VER_PLATFORM_WIN32_WINDOWS: { Windows 9x/ME }
        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;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(GetOperatingSystem));
end;


{************************************************}
{ Some useful functions                         }
{************************************************}

function IsXP: Boolean;
var
  OS: TOSVERSIONINFO;
begin
  OS.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO);
  GetVersionEx(osv);
  Result := (OS.dwPlatformId = VER_PLATFORM_WIN32_NT) and
    (OS.dwMajorVersion = 5) and (OS.dwMinorVersion = 1);
end;
Kann mir jemand das auch für Vista erweitern? So eine Boolean Abfrage wäre natürlich am Besten!

MFG Lars Wiltfang

MagicAndre1981 12. Aug 2009 11:13

Re: Ist Vista installiert?
 
Vista ist Version 6.0, Windows 7 ist 6.1 (Major.Minor). Das solltest du hinbekommen

Larsi 12. Aug 2009 11:14

Re: Ist Vista installiert?
 
Ok, thx.

Bernhard Geyer 12. Aug 2009 11:14

Re: Ist Vista installiert?
 
Am besten gleich die aktualisierten Funktionen der JCL verwenden.

DeddyH 12. Aug 2009 11:16

Re: Ist Vista installiert?
 
Das hätte man auch herausfinden können, indem man unter Vista ein Programm startet, das GetVersionEx aufruft und dann MajorVersion und MinorVersion ausgibt (zumindest ich hätte das so gemacht) :zwinker:

Luckie 12. Aug 2009 11:29

Re: Ist Vista installiert?
 
Wer ist schlauer? Der, der die Arbeit selber macht oder der, der sie machen lässt? :zwinker:

DeddyH 12. Aug 2009 12:31

Re: Ist Vista installiert?
 
Ich gebe zu, dass die DP viel weniger Beiträge hätte, wenn hier jeder selbst denken würde (wo kommen wir denn da hin? :mrgreen:)

Mithrandir 12. Aug 2009 13:01

Re: Ist Vista installiert?
 
:lol: :thumb:

MacGuyver 25. Aug 2009 14:59

Re: Ist Vista installiert?
 
Tach,

und wie finde ich heraus, ob das ein "Windows Server 2008 Standard" ist? Er zeigt bei mir 6.0 sprich Vista an. Ich habe schon geschaut, ob die vielleicht den Typen TOSVersionInfo erweitert haben oder so, keine Ahnung. Kann mir da jemand helfen?

Stefan

Bernhard Geyer 25. Aug 2009 15:00

Re: Ist Vista installiert?
 
Wie schon oben genannt: Am besten gleich die aktualisierten Funktionen der JCL verwenden. Die ist schon entsprechend erweitert!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz