Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перезагрузка WindowsXP [D7, WinXP]


Kubivan ©   (2006-08-18 20:17:00) 

Всем привет!!
Может кто знает как програмно перезагрузить WindowsXP?


Kubivan   (2006-08-18 21:36:00) [1]

Большое СПАСИБО!!! Если бы вы только знали как долгоя искал ету информацию!


PSPF2003   (2006-08-18 20:33:00) [2]

Procedure Shutdown;
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;

Procedure Reboot;
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_REBOOT or EWX_FORCE,0);
end;


kami   (2006-08-18 20:32:00) [3]

Программа запущена как служба или пользователем?


Наверх

Титульная страница Поиск, карта сайта Написать письмо