Я понятия не имею, как оконные перехватчики работают на «системном уровне». MSDN лишь очень кратко касается того, что происходит:
Ловушка - это точка в механизме обработки сообщений системы, где приложение может установить подпрограмму для отслеживания трафика сообщений в системе и обрабатывать определенные типы сообщений до того, как они достигнут целевая оконная процедура.
Я предполагаю примерно следующее:
Перед тем, как каждое сообщение будет добавлено в очередь сообщений для окна, оно сначала отправит сообщение глобальным / локальным хукам, которые могут что-то сделать в зависимости от их хука. процедуры. После всех глобальных и локальных перехватчиков сообщение, наконец, добавляется в очередь сообщений окна.
Однако MSDN сообщает, что для некоторых типов перехватчиков он будет отслеживать события
, уведомления
и т. Д.
Примером является WH_MOUSE_LL
hook:
Устанавливает подключаемую процедуру, которая отслеживает низкоуровневую мышь входные события . Для получения дополнительной информации см. Ловушку LowLevelMouseProc. процедура.
Когда они говорят события
, мы говорим об оконных сообщениях или они имеют в виду что-то еще?
Я все не прав?