Ловушка с флагом WH_DEBUG выполняется в очереди (цепочке) хуков самой первой, если что-то сделать в ней (напр. как в данном случае - code := 0; т.е. выдаётся запрет на выполнение последующих ловушек) работать они не будут, что ни есть хорошо, есть большое колво "хороших" прог которые просто перестанут работать правильно, если не ошибаюсь, даже трейный переключатель раскладки вешает свои хуки, раскладка переключаться в таком случае не будет. Если это нужно для обеспечения безопасности при вводе секретных данных, то лучше использовать виртуальную клавиатуру, толку и пользы от этого будет больше, поскольку "снимать" инфу с клавы можно не только хуками, но ещё и опросом состояния клавиш, либо подключением своего драйвера к ядру или прямым обращением к API, а это отследить значительно труднее. Зачем портить систему?
|