Уведомление о подключении в режиме ожидания для службы W8

У меня есть сервис, разработанный на C ++, работающий на Windows 8 (и 8.1). Как я могу узнать, что система перешла в режим ожидания подключения?

Так как это сервис, у него нет окна, я должен использовать PowerRegisterSuspendResumeNotification, но это не похоже на работу. Кто-нибудь знает, как я могу получить такое уведомление?

9

Решение

Я связался со службой технической поддержки Microsoft. Это их ответ:

Прямых уведомлений для входа / выхода из ConnectedStandby не существует, но вы можете просто использовать уведомления о включении / выключении монитора, поскольку ConnectedStandby является синонимом отключения экрана в системе с поддержкой AOAC (но не в устаревшей системе, возможность AOAC можно получить, получив SystemPowerCapabilities с использованием CallNtPowerInformation и поиск значения AoAc в структуре SYSTEM_POWER_CAPABILITIES).

Чтобы получать уведомления о включении / выключении монитора, вы можете использовать RegisterPowerSettingNotification и GUID настройки питания GUID_MONITOR_POWER_ON.

Похоже, есть обходной путь для этого, прослушивая события включения / выключения экрана.

4

Другие решения

Это мучительно не могу комментировать!

CallNtPowerInformation(SystemPowerCapabilities, ...) вернусь SYSTEM_POWER_CAPABILITIES, Имеет BOOLEAN член AoAc, если это FALSE, ваша система не поддерживает подключенный режим ожидания.

Он работал для меня на оборудовании Intel на заказ (так же, как машины на рынке). AoAc = Всегда включен Всегда подключен, предпочтения Intel.

2

Мне не разрешили комментировать, сюрприз позволил дать ответ. Это не ответ определенно, но обсуждение.

Вы не получаете уведомление для PBT_APMSUSPEND, PBT_APMRESUMESUSPEND а также PBT_APMRESUMEAUTOMATIC у тебя обратный звонок?

После прохождения http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/26629db2-6d33-427c-a767-8c857d775079/windows-8-connected-standby-and-aoac?forum=wdk

Похоже, приложениям не нужно различать режимы S3 и CS (a.k.a AOAC, всегда включен, всегда подключен). Хотя не ясно, разрешена ли сетевая активность в CS.

0
По вопросам рекламы [email protected]