![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить тип операционной системы ??? [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;