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

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

2 секунды


dan ©   (2005-06-23 02:31:00) 

Всем привет, у меня вопрос на 2 секунды.
Как выключить комп в XP?
Заранее спасибо.


MS-MEN   (2005-06-23 10:03:00) [1]

:)


Kerk   (2005-06-23 09:57:00) [2]

To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege.


MS-MEN   (2005-06-23 09:52:00) [3]

> Kerk
Не забывай надо ещё иметь привилигий DEBUG  )

procedure NTShutdown;
var
 TokenHandle: Cardinal;
 RetLength: Cardinal;
 TP: TTokenPrivileges;
begin
 OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES
   or TOKEN_QUERY, TokenHandle);
 if LookupPrivilegeValue(nil, 'SeShutdownPrivilege',
   TP.Privileges[0].Luid) then
 begin
   TP.PrivilegeCount := 1;
   TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
   RetLength := 0;
   if AdjustTokenPrivileges(TokenHandle, FALSE, TP, 0, nil, RetLength) then
   begin
     if not SetProcessShutdownParameters($4FF, SHUTDOWN_NORETRY) then
     begin
       MessageBox(0, 'Shutdown failed', nil, MB_OK or MB_ICONSTOP);
     end
     else
     begin
       ExitWindowsEx(EWX_FORCE or EWX_SHUTDOWN, 0);
     end;
     exit;
   end;
 end;
 MessageBox(0, 'Access denied', nil, MB_OK or MB_ICONSTOP);
end;


Kerk   (2005-06-23 07:57:00) [4]

ExitWindowSex

The ExitWindowsEx function either logs off the current user, shuts down the system, or shuts down and restarts the system. It sends the WM_QUERYENDSESSION message to all applications to determine if they can be terminated.


Наверх

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