Получать сообщения Windows в службе

Я написал сервис на VC ++. Я следовал заучебник здесь, Теперь я пытаюсь выяснить, как получать сообщения типа DBT_DEVICEARRIVAL, DBT_DEVICEREMOVECOMPLETE, WM_COPYDATA и т. Д., Как обычное приложение с окном верхнего уровня. При поиске я наткнулсяэта статья MSDN

В разделе «Вещательные сообщения» в заключительных абзацах:

Приложения получают сообщения через оконную процедуру своих окон верхнего уровня. Сообщения не отправляются дочерним окнам.Службы могут получать сообщения через оконную процедуру или их обработчики управления службами.

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

Как я могу связать WndProc со своим сервисом, чтобы он получал сообщения?

Или, как я могу сделать свой обработчик управления службами для получения сообщений Windows? Мой обработчик управления службами имеет только один параметр DWORD, а не UINT, WPARAM, LPARAM и т. Д. WndProc.

Я прочитал об 1) использовании скрытого окна и 2) окне только для сообщений и т. Д., Но я не думаю, что смогу использовать их в службе; не хочу Было бы хорошо, если бы я мог сделать это любым из этих двух способов, которые упоминает MSDN.

Описание услуги:

Служба обнаружит вставку USB-устройства и скопирует на нее некоторые файлы. Он также должен отслеживать изменения в некоторых каталогах и файлах, чтобы знать, какие из них копировать.

Эта базовая функциональность может быть расширена для включения других вещей в будущем. Так что, возможно, мне придется получать много других сообщений Windows, о которых я не знаю сейчас.

Приведенные выше примеры сообщений просто взяты из того, к чему я привык, при разработке обычного приложения для Windows. Я понимаю, если они не подходят или безопасны, при написании услуги.

Ответы на вопрос(2)

Ваш ответ на вопрос