Подавляющее большинство клавиатурных шпионов использует для мониторинга нажатий клавиш hook-процедуру WH_KEYBOARD. Чтобы клавиатурное сообщение не попало в установленную ловушку, достаточно перехватить вызов этой hook-процедуры и отменить его. Это можно сделать, установив свой hook - WH_DEBUG. Процедура этого hook'а будет получать управление при вызове других hook-процедур. Таким образом, мы устанавливаем hook для других hook'ов, получая, в результате, достаточно мощное средство.
Приступим к написанию. Создайте новый DLL-проект; VCL можно отключить. Код процедуры в DLL:
Мы проверяем тип вызываемой ловушки на соответствие WH_KEYBOARD, и, если равенство верное, запрашиваем подтверждение на вызов этой процедуры. Если в пропуске отказано, возвращаем ненулевое значение.
Код приложение, ответственное за установку и снятие этой ловушки.