Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программно выключить комп...

41K
07 октября 2008 года
SEA
2 / / 13.09.2008
Пожалуйста,подскажите как в программе на с++,в среде builder,задать команду которая выключит комп.Команда ExitWindowsEx(EWX_SHUTDOWN, 0); ничего не делает.Почему?
3.7K
07 октября 2008 года
0nni
326 / / 24.06.2008
Выключение
ShutDown -s -t 0
перезагрузка
ShutDown -r -t 0
Выход из сеанса
ShutDown -l -t 0

Например
 
Код:
WinExec('ShutDown -s -t 0', SW_HIDE);
490
08 октября 2008 года
frid-karatel
357 / / 15.09.2007
Вообще, используя стандартные функции консоли (с запуском через WinExec или ShellExecute), можно делать очень многое... И это зачастую намного легче, чем писать код в BCB ;)
14
08 октября 2008 года
Phodopus
3.3K / / 19.06.2008
В Win2K+ процессу собирающемуся вызвать шатдаун надо предварительно получить привилегию выключения компьютера - AdjustTokenPrivileges(). Вот не верю что это еще не обсуждалось на форуме, такой вопрос вообще в ФАКе должен быть..
841
08 октября 2008 года
_nic
199 / / 29.07.2006
Цитата: SEA
Пожалуйста,подскажите как в программе на с++,в среде builder,задать команду которая выключит комп.Команда ExitWindowsEx(EWX_SHUTDOWN, 0); ничего не делает.Почему?



Такие вопросы надо задавать в разделе по WinAPI.Насчет привелегий

 
Код:
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);
518
08 октября 2008 года
Andreika
101 / / 14.02.2003
ExitWindowsEx ничего полезного не сделает.

К сожалению, потерял код, который выполняет твою задачу. Надо копать WMI (не помню как по-аглицки) - инструментарий управления виндовс. Можно поискать в Windows Script, должна там быть такая штука (но точно не знаю)

В WMI точно есть, поищи в MSDN Shutdown Windows.
Кстати, поищи по данному форуму, может этот ответ на вопрос давно существует :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог