Как я могу проверить, находится ли система в режиме ожидания?
Я хотел бы проверить, находится ли система в режиме ожидания, есть ли Win32 API для этого? Я не уверен, что это так же, как режим сна.
В моем приложении выполняется некоторый код, который вызывает зависание при выходе из режима ожидания (он выполняется в режиме ожидания), поэтому я хотел бы избежать запуска этого кода, когда компьютер находится в режиме ожидания / ожидания.
Заранее спасибо!
Деннис
редактировать: возможно, это невозможно, потому что программа не должна работать, как указано в ответе ниже, поэтому я буду считать это ответом:)
3 ответа
Когда система находится в режиме ожидания, никакая программа не будет запущена, поэтому будет нормально следующее:
int is_in_standby() {
return 0;
}
Или я что-то упустил?
Насколько я знаю, ни один код не работает в режиме ожидания Windows. Кроме оперативной памяти все выключено. Ошибка в вашем коде может быть вызвана сообщениями окна после того, как компьютер снова проснется.
Если ваша программа работает, вы не в режиме ожидания.
Я думаю, что вы хотите сделать, это обработать сообщения WM_POWERBROADCAST. Они сообщат вам, когда система меняет состояние питания, и до Vista вы можете быть злыми и наложить вето на отключение питания, если хотите.