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

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

Windows NT [D6, NT4, Win2k]


cherepovets ©   (2002-08-12 12:13:00) 

Как из под NT выключить компьютер


Aydar   (2002-08-12 13:20:00) [1]

procedure ShutdownNT;
var
hToken:THandle;
tkp:TTokenPrivileges;
ReturnLength:Cardinal;
begin
if OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
begin
LookupPrivilegeValue(nil,"SeShutdownPrivilege",tkp.Privileges[0].Luid);
tkp.PrivilegeCount:=1;
tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
if AdjustTokenPrivileges(hToken,False,tkp,0,nil,ReturnLength) then ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF,0);
end;
end;


Aydar   (2002-08-12 13:18:00) [2]

procedure ShutdownNT;
var
hToken:THandle;
tkp:TTokenPrivileges;
ReturnLength:Cardinal;
begin
if OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
begin
LookupPrivilegeValue(nil,"SeShutdownPrivilege",tkp.Privileges[0].Luid);
tkp.PrivilegeCount:=1;
tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
if AdjustTokenPrivileges(hToken,False,tkp,0,nil,ReturnLength) then ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF,0);
end;
end;


Наверх

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