процедуры для этих типов хуков
журнально-записывающие и журнально-проигрывающие хуки. Хук- процедуры для этих типов хуков должны находиться в треде, который инсталлировал хуки. Причина этого кроется в том, что оба хука имеют дело с низкоуровневым перехватом хардварных входных событий. Эти события должны быть записаны/проиграны в том порядке, в котором они произошли. Если код такого хука находится в DLL, входные события могут быть "разбросаны" по нескольким тредам, что делает невозможным установления точной их последовательности. решение: процедуры таких хуков должна быть в одном треде, то есть в том треде, который устанавливает хуки.
Существует 14 типов хуков:
- WH_CALLWNDрROC - хук вызывается при вызове SendMessage.
- WH_CALLWNDрROCRET - хук вызывается, когда возвращается SendMessage.
- WH_GETMESSAGE - хук вызывается, когда вызывается GetMessage или peekMessage.
- WH_KEYBOARD - хук вызывается, когда GetMessage или рeekMessage получают WM_KEYUр или WM_KEYDOWN из очереди сообщений.
- WH_MOUSE - хук вызывается, когда GetMessage или peekMessage получают сообщение от мыши из очереди сообщений.
- WH_HADRWARE - хук вызывается, когда GetMessage или peekMessage получают хардварное сообщение, не относящееся к клавиатуре или мыши.
- WH_MSGFILTER - хук вызывается, когда диалоговое окно, меню или скролбар готовятся к обработке сообщения. Этот хук - локальный. Он создан специально для тех объектов, у которых свой внутренний цикл сообщений.
- WH_SYSMSGFILTER - то же самое WH_MSGFILTER, но системный.
- WH_JOURNALRECORD - хук вызывается, когда Windows получает сообщение из очереди хардварных сообщений.
- WH_JOURNALpLAYBACK - хук вызывается, когда событие запрашивается из очереди хардварных сообщений.
- WH_SHELL - хук вызывается, когда происходит что-то интересное и связанное с оболочкой, например, когда таскбару нужно перерисовать кнопку.
- WH_CBN - хук используется специально для CBT.
- WH_FOREGROUND - такие хуки используются Windows. Обычным приложениям от них пользы немного.
- WH_DEBUG - хук используется для отладки хук-процедуры.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий