Может ли SetWindowHookEx (WH_CALLWNDPROC) повесить всю систему? - PullRequest
1 голос
/ 25 февраля 2011

Я застрял с этим.Я даже не вижу выходных данных отладки, используя OutputDebugString и debugview - система просто зависает.

Один вопрос: если я вызываю SendMessage () внутри функции ловушки, получилось ли это сообщение обратно в мою функцию ловушкиили система просто вызывает другие обработчики, но не мои?

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

Это правильный путь с использованием SetWindowHookEx (WH_CALLWNDPROC, myfunc, hDll, 0) или я должен использовать параметр потока и установить его в поток, который получает сообщения в соответствии с настройками Shell_NotifyIcon ()?

1 Ответ

0 голосов
/ 04 ноября 2011

Вы реализовали хук в библиотеке!?

Относительно вопроса 1: я бы не стал вызывать SendMessage внутри хука, потому что этот SendMessage снова позволит вызвать ваш хук. Это может привести к хорошей рекурсии.

По вопросу 2. Вы используете хуки, чтобы получать уведомления при нажатии на иконку в трее? Вы хотите сделать это сейчас, когда щелкнул ЛЮБОЙ значок в трее или когда щелкнул значок ВАШ в трее? Для уведомлений о значке в трее вы должны использовать Shell_NotifyIcon и взглянуть на NOTIFYICONDATA :: uCallbackMessage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...