Wie ermittle ich das Betriebssystem (Win95/NT)?


Diese Funktion demonstriert den Gebrauch der API-Funktion "GetVersionEx":

function GetWinVerStr : 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
      StrFmt(HilfStr,'Microsoft Windows NT Version %d.%.2d.%d',
             [OSVinfo.dwMajorVersion, OSVinfo.dwMinorVersion, 
              OSVinfo.dwBuildNumber AND $FFFF]);
  end
  else
    StrCopy(HilfStr,'Fehler bei GetVersionEx()!');
  Result := string(HilfStr);
end;
Delphi 1 Delphi 2 Delphi 3 Delphi 4
nicht getestet Version nicht betroffen getestet

siehe auch:


Delphi FAQ