Главная страница
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
8-77037
atmospheric
2003-01-04 18:20
2003.04.24
wave разобрать по частом...


14-77164
alxn
2003-04-08 11:41
2003.04.24
Кто знает, куда пропал DelphiPlus?


4-77236
Andrej
2003-02-27 14:20
2003.04.24
Размер шрифта


1-77015
PavelOKES
2003-04-14 12:31
2003.04.24
TException


1-76923
KAV
2003-04-15 10:28
2003.04.24
Помогите с StringGrid!!!