Как интерпретировать "код", переданный в CallNextHookEx
Мне интересно, какие значения может принимать 2-й параметр (код) функции CallNextHookEx, к сожалению, документация MSDN довольно расплывчата по этому параметру:
Код перехвата передается текущей процедуре перехвата. Следующая процедура ловушки использует этот код, чтобы определить, как обрабатывать информацию ловушки.
Я предполагаю, что значения, которые может принимать параметр кода, определены где-то среди " Структур Хука"
Как я могу правильно интерпретировать значения?
Могу ли я манипулировать этим значением или я должен просто передать код, как я его получил изначально?
1 ответ
Значение объясняется в документации процедуры подключения.
например GetMsgProc
:
Указывает, должна ли процедура подключения обрабатывать сообщение. Если код
HC_ACTION
процедура подключения должна обработать сообщение. Если код меньше нуля, процедура ловушки должна передать сообщение в функцию CallNextHookEx без дальнейшей обработки и должна вернуть значение, возвращенное CallNextHookEx.
Документация для code
Параметр похож на выше для большинства (всех?) процедур.
Это означает, что вы должны обрабатывать только вызовы, для которых code
равно HC_ACTION
, В противном случае вы должны просто позвонить CallNextHookEx
с оригинальными параметрами и вернуть результат.