Russian Qt Forum

Qt => Общие вопросы => Тема начата: SASA от Март 20, 2010, 19:54



Название: Как узнать что винда перешла в ждущий(спящий) режим.
Отправлено: SASA от Март 20, 2010, 19:54
Как узнать в qt приложении что винда перешла в ждущий(спящий) режим? В Ассистанте написано, что вроде с этим проблема. Но система оповещает приложения. Например медиаплеер реагирует на это событие.


Название: Re: Как узнать что винда перешла в ждущий(спящий) режим.
Отправлено: Rcus от Март 20, 2010, 20:46
То же про Session management, а вам надо "Power management" же. Обрабатывать WM_POWERBROADCAST где-нибудь и всего делов. В GNU/Linux для того используются сигналы от какого-нибудь DBus сервиса.


Название: Re: Как узнать что винда перешла в ждущий(спящий) режим.
Отправлено: SASA от Март 21, 2010, 12:32
А как отловить сообщение WM_POWERBROADCAST  в qt приложении?


Название: Re: Как узнать что винда перешла в ждущий(спящий) режим.
Отправлено: pastor от Март 21, 2010, 12:42
QCoreApplication::winEventFilter(...)


Название: Re: Как узнать что винда перешла в ждущий(спящий) режим.
Отправлено: ритт от Март 22, 2010, 02:16
а разве броадкасты попадают в winEventFilter() ?
поправьте, если неправ...


Название: Re: Как узнать что винда перешла в ждущий(спящий) режим.
Отправлено: pastor от Март 22, 2010, 14:01
Да, думаю ты прав насчет winEventFilter.

Через QCoreApplication::setEventFilter попадут100%


Название: Re: Как узнать что винда перешла в ждущий(спящий) режим.
Отправлено: dox от Июль 24, 2010, 08:14
Да, в winEventFilter отлавливются все мессаги винды.