Прослушайте события WM_SYSCOMMAND

Я пишу небольшую программу на C++, которая должна реагировать на sc_screensaver а также sc_monitorpower событие.

это должно работать в фоновом режиме, следовательно, графический интерфейс не предназначен.

Так как у меня пока нет опыта работы с Windows API, я много борюсь с этим.

Уже много гуглил и нашел много подходов, которые либо я не понимаю, либо не работаю.

Кто-нибудь из вас может дать мне подсказку? Я читал о ловле wm_syscommand но это кажется трудным, потому что у меня нет окна.

1 ответ

Решение

Единственный способ получить сообщения - это цикл сообщений и оконная процедура.

Если ваша программа не имеет видимого графического интерфейса, вы должны создать окно только для сообщений для этой цели, и ваш main должен иметь код для его создания и прослушивания сообщений Windows (примечание: здесь "windows" относится к системе, а не к графическому интерфейсу).

Другие вопросы по тегам