Немного поковырялся, получается, что класс-слушатель должен постоянно сидеть на PeekMessage(). Т.е. руками мне придется собрать некое подобие цикла обработки сообщений, что полностью блокирует прочий код, ну по крайней мере затруднит возможность делать что-то ещё.
Т.е. карта сообщений не решает проблему? А вообще разумно ли обмениваться именно через виндовские механизмы, мб настоять на отказе от затеи?