Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


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

Поиск:
Используется API-функция
bool ExitWindowsEx (UINT uFlags, DWORD dwReason) Declared in Winuser.h; include Windows.h. Use User32.lib.

uFlag:
для перегрузки используем EWX_REBOOT для выключения питания EWX_POWEROFF если нужно экстренно выключит/перегрузить комп используем вышеуказаные влаги в сочетании с EWX_FORCE Второй параметр используется только в XP для указания причины перезагрузки. В NT/2000/XP для использования ExitWindowsEx необходимо иметь привелегию SE_SHUTDOWN_NAME, по умолчанию не установленную даже для администратора. Установить её можно нижеприведённым кодом.

Код

HANDLE hToken;
TOKEN_PRIVILEGES* NewState;
OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES,
               &hToken);
NewState = (TOKEN_PRIVILEGES*) malloc (sizeof
           (TOKEN_PRIVILEGES) + sizeof (LUID_AND_ATTRIBUTES));
NewState->PrivilegeCount = 1;
LookupPrivilegeValue (NULL, SE_SHUTDOWN_NAME,
                       &NewState->Privileges[0].Luid);
NewState->Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges (hToken, FALSE, NewState, NULL, NULL, NULL);
free (NewState);
CloseHandle (hToken);



Автор: server_mouse






Просмотров: 2024

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную