Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wie kann ich die Windows Versionsinfos auslesen? (https://www.delphipraxis.net/2761-wie-kann-ich-die-windows-versionsinfos-auslesen.html)

Lord_Stifterl 6. Feb 2003 00:34


Wie kann ich die Windows Versionsinfos auslesen?
 
Hi Leute,

kann mir jemand sagen, wie ich die Windowsversion anzeigen lassen kann(samt aller Details wie SP, Build,...).

Danke Euch allen, Liebe Grüße

Lord Stifterl

Luckie 6. Feb 2003 00:43

Delphi-Quellcode:
function GetOperatingSystem : String;
var
  osVerInfo   : TOSVersionInfo;
  majorVer, minorVer : Integer;
begin
  result := 'unbekannt';
  { 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 := 'Windows NT'
          else if (majorVer = 5) AND (minorVer= 0) then
            result := 'Windows 2000'
          else if (majorVer = 5) AND (minorVer = 1) then
            result := 'Windows XP'
          else
            result := 'unbekannt';
          result := result + ' (' +osverInfo.szCSDVersion+')';;
        end;
      VER_PLATFORM_WIN32_WINDOWS : { Windows 9x/ME } 
        begin
          if (majorVer = 4) AND (minorVer = 0) then
            result := 'Windows 95'
          else if (majorVer = 4) AND (minorVer = 10) then
          begin
            if osVerInfo.szCSDVersion[1] = 'A' then
              result := 'Windows 98 SE'
            else
              result := 'Windows 98';
          end
          else if (majorVer = 4) AND (minorVer = 90) then
            result := 'Windows Millennium'
          else
            result := 'unbekannt';
        end;
    else
      result := 'unbekannt';
    end;
  end
  else
    result := 'unbekannt';
end;

function GetVersionNumber: String;
var
   osVerInfo   : TOSVersionInfo;
   MajorVer, MinorVer : Integer;
begin
  result := 'unbekannt';
  { 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 := IntToStr(OsVerInfo.dwMajorVersion)+'.'+IntToStr(OsVerInfo.dwMinorVersion)+
              '.'+IntToStr(OsVerInfo.dwBuildNumber)
          else if (majorVer = 5) AND (minorVer= 0) then
            result := IntToStr(OsVerInfo.dwMajorVersion)+'.'+IntToStr(OsVerInfo.dwMinorVersion)+
              '.'+IntToStr(OsVerInfo.dwBuildNumber)
          else if (majorVer = 5) AND (minorVer = 1) then
            result := IntToStr(OsVerInfo.dwMajorVersion)+'.'+IntToStr(OsVerInfo.dwMinorVersion)+
              '.'+IntToStr(OsVerInfo.dwBuildNumber)
          else
            result := 'unbekannt';
        end;
      VER_PLATFORM_WIN32_WINDOWS : { Windows 9x/ME } 
        begin
          if (majorVer = 4) AND (minorVer = 0) then
            result := IntToStr(OsVerInfo.dwMajorVersion)+'.'+IntToStr(OsVerInfo.dwMinorVersion)+
              '.'+IntToStr(OsVerInfo.dwBuildNumber)
          else if (majorVer = 4) AND (minorVer = 10) then
          begin
            if osVerInfo.szCSDVersion[1] = 'A' then
              result := IntToStr(OsVerInfo.dwMajorVersion)+'.'+IntToStr(OsVerInfo.dwMinorVersion)+
              '.'+IntToStr(OsVerInfo.dwBuildNumber)
            else
              result := IntToStr(OsVerInfo.dwMajorVersion)+'.'+IntToStr(OsVerInfo.dwMinorVersion)+
              '.'+IntToStr(OsVerInfo.dwBuildNumber)
          end
          else if (majorVer = 4) AND (minorVer = 90) then
            result := IntToStr(OsVerInfo.dwMajorVersion)+'.'+IntToStr(OsVerInfo.dwMinorVersion)+
              '.'+IntToStr(OsVerInfo.dwBuildNumber)
          else
            result := 'unbekannt';
        end;
    else
      result := 'unbekannt';
    end;
  end
  else
    result := 'unbekannt';
end;

Lord_Stifterl 6. Feb 2003 00:53

wow...ging ja richtig schnell :hello: .
danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 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