Показать сообщение отдельно
  #5  
Старый 26.01.2008, 18:14
AlexZL AlexZL вне форума
Новичок
 
Регистрация: 06.01.2006
Сообщения: 87
Репутация: 20
По умолчанию

Лови сообщение WM_POWERBROADCAST. Когда изменяется power state, система посылает это сообщение. В wparam должно быть PBT_APMSUSPEND
(0x4). Значит готовься к переходу в энергосберегающий режим. И наверное еще wparam равен PBT_APMPOWERSTATUSCHANGE (0xA). Сам не проверял.

Также Майкрософт пишет о таких константах как PBT_APMQUERYSUSPEND (0x0000) и PBT_APMQUERYSTANDBY (0x0001) как устаревших, и утверждает что в ХР++ не будет работать. Но вроде как в ХР они есть в сообщении.
Майкрософт утверждает что нельзя никак отличить в какой режим энергосбережения готовится перейти система (S1,S3,S4)... Ну, как отличить S1 и S3 я сам без понятия, если оно в БИОС указывается, а вот S1 и S4 (Hybernate) похоже можно))
Ответить с цитированием