Как интерпретировать "код", переданный в CallNextHookEx

Мне интересно, какие значения может принимать 2-й параметр (код) функции CallNextHookEx, к сожалению, документация MSDN довольно расплывчата по этому параметру:

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

Я предполагаю, что значения, которые может принимать параметр кода, определены где-то среди " Структур Хука"

Как я могу правильно интерпретировать значения?

Могу ли я манипулировать этим значением или я должен просто передать код, как я его получил изначально?

1 ответ

Решение

Значение объясняется в документации процедуры подключения.

например GetMsgProc:

Указывает, должна ли процедура подключения обрабатывать сообщение. Если код HC_ACTIONпроцедура подключения должна обработать сообщение. Если код меньше нуля, процедура ловушки должна передать сообщение в функцию CallNextHookEx без дальнейшей обработки и должна вернуть значение, возвращенное CallNextHookEx.

Документация для code Параметр похож на выше для большинства (всех?) процедур.

Это означает, что вы должны обрабатывать только вызовы, для которых code равно HC_ACTION, В противном случае вы должны просто позвонить CallNextHookEx с оригинальными параметрами и вернуть результат.

Другие вопросы по тегам