![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Reboot [D6, XP]
Konnor © (2006-05-23 09:17:00)Доброго дня... Как в Windows XPдобиться перзагрузки или завершения работы компьютера???? Функция
ExitWindowsвыкидывает на экран выбора пользователей..
Konnor (2006-05-23 10:38:00) [1]Все!!!. Сам разобрался... 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;
Шмель (2006-05-23 10:24:00) [2]
> Konnor
Зло какое-то хотите сотворить???...
Konnor (2006-05-23 10:07:00) [3]
ExitWindowsEx(EWX_FORCE,0);- Не работает... эффект тот же... :( Может есть какие нибудь другие способы???
Efir (2006-05-23 09:38:00) [4]Воспользуйся Api функцией
ExitWindowsEx(uFlags:UINT, 0);
uFlags может быть:
EWX_Forse - Форсировать выключение компьютера, выключат резко. Если были открыты какие-то приложения, можно потерять данные.
EWX_LOGOFF - менить пользователя.
EWX_POWERFULL- выключить ком и его систему питания.
EWX_REBOOT - перезагрузить.
EWX_SHUTDOWN - выключить комп, но не выключать систему питания.