Василенко Игорь предлагает следующий код:
const { operating system constants } cOsUnknown = -1; cOsWin95 = 0; cOsWin98 = 1; cOsWin98SE = 2; cOsWinME = 3; cOsWinNT = 4; cOsWin2000 = 5; cOsWhistler = 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 := cOsWhistler 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; |
[001792]