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

Вниз

Reboot   Найти похожие ветки 

 
Konnor ©   (2006-05-23 09:17) [0]

Доброго дня... Как в Windows XP добиться перзагрузки или завершения работы компьютера???? Функция ExitWindows выкидывает на экран выбора пользователей..


 
Efir   (2006-05-23 09:38) [1]

Воспользуйся Api функцией

ExitWindowsEx(uFlags:UINT, 0);

uFlags может быть:
EWX_Forse - Форсировать выключение компьютера, выключат резко. Если были открыты какие-то приложения, можно потерять данные.
EWX_LOGOFF - менить пользователя.
EWX_POWERFULL- выключить ком и его систему питания.
EWX_REBOOT - перезагрузить.
EWX_SHUTDOWN - выключить комп, но не выключать систему питания.


 
Konnor ©   (2006-05-23 10:07) [2]

ExitWindowsEx(EWX_FORCE,0); - Не работает... эффект тот же... :( Может есть какие нибудь другие способы???


 
Шмель ©   (2006-05-23 10:24) [3]


> Konnor


Зло какое-то хотите сотворить???...


 
Konnor ©   (2006-05-23 10:38) [4]

Все!!!. Сам разобрался... Efir спасибо, что натолкнул на нужные мысли.... Если у кого-то были подобные проблемы, ниже привожу код выключения машины (полное) под WinXP
var
 ph: THandle;
 tp, prevst: TTokenPrivileges;
 rl: DWORD;
begin
 OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
   TOKEN_QUERY, ph);
 LookupPrivilegeValue(nil, "SeShutdownPrivilege", tp.Privileges[0].Luid);
 tp.PrivilegeCount := 1;
 tp.Privileges[0].Attributes := 2;
 AdjustTokenPrivileges(ph, FALSE, tp, SizeOf(prevst), prevst, rl);
 ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
15-1147689437
GAnS_666
2006-05-15 14:37
2006.06.11
компонент TLEDDisplay


15-1146942869
dj0n
2006-05-06 23:14
2006.06.11
fastreport


2-1148676758
ZV
2006-05-27 00:52
2006.06.11
SpinEdit


15-1147776677
Новичоккк
2006-05-16 14:51
2006.06.11
Вопрос по C++


2-1148455315
С.Фролов
2006-05-24 11:21
2006.06.11
Delphi и W2k3 не работает Ctrl+Alt+F11