Вращаю колёсико мыши над иконкой моей программы в трее, но на окно не приходит, при этом, никаких WM_MOUSEWHEEL. Вообще никаких сообщений! В чём причина, и как быть?
Да. uCallbackMessage = 464h (WM_USER + 100) uFlags = 7 (NIF_MESSAGE + NIF_ICON + NIF_TIP) Дело в том, что программа не имеет видимого окна. Частично проблемма решается путём вызова SetForegroundWindow перед обработкой сообщений, но при этом, всё равно, пока по иконке не кликнешь, WM_MOUSEWHEEL не приходит. Может есть какой-нибудь способ автоматически установить фокус на моё окно при поступлении, например, сообщения WM_MOUSEMOVE. Оно, вроде бы, доходит.
Действительно, даже SetForegroundWindow через раз помогает... Чтобы наверняка срабатывало, надо тыкать иконку. Может стоит попробовать не невидимое окно, а сделать его видимым и задвинуть за край экрана?