Автор
|
Тема: Как перезагрузить комп.
|
KerneL |
опубликован 24-09-2001 19:43 MSK
Как перезагрузить комп не спрашивая разрешения у оси (Win 95/98/2000/NT...) (Кнопку Reset не предлагать:)
|
Ursus
|
опубликован 24-09-2001 19:45 MSK
Посмотреть как работает InitiateSystemShutdown или ExitWindows |
zAg
|
опубликован 24-09-2001 19:51 MSK
Попробуй SetSystemPowerState
|
lx
|
опубликован 24-09-2001 20:03 MSK
я так вот делал, работает... ::InitiateSystemShutdown(NULL, NULL, 0, TRUE, TRUE); но параметры все же следует уточнить... смотря для чего рестарт... можешь потерять, как любит выеЖиваться винда, несохраненные данные... |
server_mouse
|
опубликован 24-09-2001 22:29 MSK
Полное выключение ATX питания. Система завершает работу и её глубоко фиолетово сохранил пользователь все открытые документы или нет(параметр EWX_FORCE) ;) ::ExitWindowsEx(EWX_FORCE|EWX_POWEROFF,NULL);А здесь мы всё так-же форсировано перегрузимся. ::ExitWindowsEx(EWX_FORCE|EWX_REBOOT,NULL); InitiateSystemShutdown тоже работает, но у меня так и не получилось с её помощью вырубить питание под 2000. |
Ursus
|
опубликован 25-09-2001 10:17 MSK
А для того что бы это сделать под NT или 2000 надо иметь соответсвующие привилегии, в MSDN точно есть. В принципе у меня дома есть, я себе писал, что бы комп в ручную не отрубать когда засну :) |
server_mouse
|
опубликован 25-09-2001 12:09 MSK
2Ursus : Что бы сделать ExitWindowsEx из НТ без привелегий тоже никак не обойтись. Мне пришлось поднимать их даже в сервисе и даже если он запущен под эккаунтом админа. :) Хитрость оказалась в другом. Я не помню точно значений всех флагов, но все варианты которые я перебрал не вырубали ATX-питание, а выводили месагу, дескать теперь питание можно вырубить. Если я ставил флаги (по MSDN) 'не показывать енто окенце' система всё равно выводило его, правда другого, более древнего вида, как будто у меня стоит 3.11 :) |