Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить тип операционной системы ??? [D7, Win2k]


Vyacheslav ©   (2004-12-27 13:05:00) 

Уважаемые мастера !!! Как узнать установленной операционной системы (Linux/Windows). Любые предложения. !!!


Anatoly Podgoretsky   (2004-12-27 19:29:00) [1]

Кто больше сделает предположений.


Jay1982   (2004-12-27 17:43:00) [2]


{$IFDEF LINUX}
{$IFDEF MSWINDOWS}

В конце

{$ENDIF}


DVM   (2004-12-27 17:38:00) [3]


> Vyacheslav ©   (27.12.04 13:05)  

Узнавать во время выполнения лишено смысла, но во впремя компиляции можно директивами компилятора.


PVOzerski   (2004-12-27 16:59:00) [4]

Нет, ну если,положим, речь идет о том, как с виндового сервера узнать ОС клиента, не так уж вопрос и глуп, только сформулирован невнятно. А вот если прога должна запуститься на локальной машине - см. доку по эмуляторам, потому как запуск в "не своей" ОС возможен только через них, а уж как себя эмулятор объявляет - дело сугубо его личное.


KSergey   (2004-12-27 15:40:00) [5]

>  [5] Bork   (27.12.04 14:33)
> А на <Вырезано модератором> тебе unix??

А вопрос почитать?


Gero   (2004-12-27 14:56:00) [6]


> Anatoly Podgoretsky ©   (27.12.04 14:37)

Ну правильно, я сразу же написал готовую функцию.


Anatoly Podgoretsky   (2004-12-27 14:37:00) [7]

Очень просто, если программа для Виндоус запустилась, значит Виндоус и наоборот.


Bork   (2004-12-27 14:33:00) [8]


> KSergey ©

А на <Вырезано модератором> тебе unix?? Все равно прога под ним не пойдет


Aleksandr.   (2004-12-27 13:28:00) [9]

Да? Сорри, как-то пропустил. Это можно дефайном "MS Windows", насколько я помню. Дык пусть дерганет функцию под линуксоидом, сразу понятно будет, что она вернет (фигу в масле, я так понимаю).


KSergey   (2004-12-27 13:14:00) [10]

> [2] Aleksandr.   (27.12.04 13:08)

А где у тебя про Unix?? В вопросе-то про него тоже спрашивалось...


Gero   (2004-12-27 13:08:00) [11]

function GetOS: string;
begin
 Result := 'Windows';
end;


Aleksandr.   (2004-12-27 13:08:00) [12]

Я вот так делал:

function GetOsVersionNo : real;
var
 W : TOsVersionInfo;
begin
 Result:=0.0;
W.dwOSVersionInfoSize:=SizeOf(TOsVersionInfo);
if GetVersionEx(W) then begin
  case W.dwMajorVersion of
      3 : if W.dwMinorVersion=51 then
            Result:=3.51
          else
            Result:=3.5;
      4 : case W.dwMinorVersion of
            0 : case W.dwPlatformId of
                  VER_PLATFORM_WIN32_WINDOWS : Result:=4.1;
                  else                         Result:=4.0;
                end;
            else
              Result:=4.2;
          end;
      5 : case W.dwMinorVersion of
            0 : Result:=5.0;
            1 : Result:=5.1;
          end
    end
  end
end;

function GetOSVersion : string;
var
 W : TOsVersionInfo;
begin
  Result:='Unknown';
  W.dwOSVersionInfoSize:=SizeOf(TOsVersionInfo);
  if GetVersionEx(W) then begin
    Result:=FloatToStr(GetOsVersionNo);
    case W.dwMajorVersion of
      3 : if W.dwMinorVersion=51 then
            Result:='Win NT 3.51'
          else
            Result:='Win NT 3.5';
      4 : case W.dwMinorVersion of
            0 : case W.dwPlatformId of
                  VER_PLATFORM_WIN32_WINDOWS : Result:='Win 95';
                  else                         Result:='Win NT 4.0';
                end;
            else
              Result:='Win 98';
          end;
      5 : case W.dwMinorVersion of
            0 : Result:='Win 2000';
            1 : Result:='Win XP';
          end
    end
  end
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо