Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Определение операционной системы

- В кого бы вы выстрелили, если бы оказались в одном лифте с Садамом Хусейном, Гитлером, Сталиным и Билл Гейтсом и у вас был бы только один револьвер с двумя патронами? - В Билл Гейтса два раза, чтобы наверняка…


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;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay