Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Выключить комп  (Прочитано 5317 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vadunya
Гость
« : 24-04-2007 11:10 » new

Существует ли такая команда для выключения компа из программы?
« Последнее редактирование: 26-04-2007 10:22 от Vadunya » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #1 : 27-04-2007 14:06 » 

Код:
Как выключить компьютер с Windows XP?

Для выключения компьютера под управлением Windows XP (и вообще любой ОС из линейки NT) можно воспользоваться следующим кодом:

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);

ExitWindowsEx (EWX_REBOOT, 0);
Записан

I Have Nine Lives You Have One Only
THINK!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines