Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: CL | DM;

Вниз

Как определить тип системы?   Найти похожие ветки 

 
IsmaiL   (2003-03-06 18:34) [0]

Народ, помогите кто может советом, как программно определить
тип системы. И как програмно выключить компьютер из WinXP.
Заранне благодарен.


 
Poi$oN   (2003-03-06 20:20) [1]

Вот в свое время такой код нарыл, у меня без проблем работает!
PS cOsWhistler - это Win XP

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;


 
Poi$oN   (2003-03-06 20:34) [2]

А выключается XP как и любая 9.X винда:

ExitWindowsEx(1 из вариантов,0);

Вот допустимые параметры (подробности смотри в хелпе)
EWX_FORCE
EWX_LOGOFF
EWX_POWEROFF
EWX_REBOOT
EWX_SHUTDOWN


 
IsmaiL   (2003-03-07 09:15) [3]

В том то и дело, что не выключается уже пробовал.
В win98 работает, а в ХР просто не срабатывает, не происходит
ничего.


 
DVM ©   (2003-03-07 09:36) [4]

Чтобы выключить комп в XP/NT/2000 нужно иметь для этого привелегии в системе. А как это сделать - советую поглядеть FAQ и базу готовых решений.


 
Opuhshii ©   (2003-03-07 10:06) [5]

2Poi$oN (06.03.03 20:20)
при инициализации модуля SysUtils, уже выполняется GetVersionEx


 
IsmaiL   (2003-03-08 10:12) [6]

Спасибо, мужики все работает.



Страницы: 1 вся ветка

Текущий архив: 2003.04.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
1-77027
Vitek
2003-04-14 09:16
2003.04.24
Шестнадцатеричное в Float


1-76889
Rule
2003-04-14 03:00
2003.04.24
QReport конвертировать в MSWord


1-76913
Nico1a_____
2003-04-14 21:57
2003.04.24
HDC


3-76779
mcArena
2003-04-04 15:20
2003.04.24
Как включить в модальное окно из dll датасорс из главной формы


3-76861
Zergling
2003-04-08 13:13
2003.04.24
Транзакции в локальных базах данных