| 
| 
 | Вопрос # 886/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Пишу программу, в которой хотел бы реализовать возможность, чтобы она после выполнения своей основной функции программа могла либо выключить компьютер, либо перейти в ждущий режим, либо в спящий. Выключение я уже реализовал. Проблемы с переходом в Ждущий и в Спящий режимы. Подскажите как это делается
 
|  |   Вопрос задал: Control (статус: Посетитель)Вопрос отправлен: 3 сентября 2007, 03:02
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Feniks Здравствуйте, Control!Когда-то для Windows 9х была предусмотрена команда API:
 SetSystemPowerState(Suspended, Mode: Boolean):boolean;
 Suspended должно быть TRUE для ухода в спячку.
 Mode - режим входа в спячку. Если TRUE, то всем программам и драйверам посылается Message PBT_APMSUSPEND, по которому они должны немедленно прекратить работу. Если FALSE, то посылается Message PBT_APMQUERYSUSPEND запроса на спячку, и драйвера в ответ могут дать отказ на включение режима спячки.
 Возврат функции SetSystemPowerState: TRUE - режим включен.
 Возможно она же работает и для ХР.
 Есть еще функция ExitWindowsEx(EWX_Force or EWX_PowerOff or EWX_ShutDown, 0), у которой есть флаги EWX_xxxxxxxxx В хелпе они были описаны.
 
|  | Ответ отправил: Feniks (статус: Бакалавр)Время отправки: 6 сентября 2007, 12:03
 Оценка за ответ: 4
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 3 сентября 2007, 10:15; участников в обсуждении: 2. 
|   | Control (статус: Посетитель), 3 сентября 2007, 03:04 [#1]:Хотел, еще уточнить, что мне достаточно будет знать как это делается для Windows XP |  
|   | Евгений-1291 (статус: Посетитель), 3 сентября 2007, 10:15 [#2]:Для спящего режима надо выполнить комманду : rundll32.exe powrprof.dll,SetSuspendState |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |