В настоящее время я изучаю хороший надежный способ регистрации действий пользователя на компьютере.Я создал простое приложение, которое перехватывает события WH_CBT
по всему миру, и пока оно работает нормально.Я читал о ситуациях, когда у приложения был бы собственный обработчик событий WH_CBT
, и он не вызывал бы функцию CallNextHookEx()
после его обработки.Я предполагаю, что этот сценарий не позволит мне обрабатывать какие-либо события в этом приложении самостоятельно с помощью системного хука.
Есть ли другой (возможно, лучший) способ перехвата событий нажатия клавиш в приложениях?Возможно, что-то связано с ручным внедрением DLL в такие процессы:
- Pick process.
- Внедрение DLL с использованием
CreateRemoteThreadEx()
. - DLL-хуков (обходных путей)Winapi функционирует и собирает от них информацию о нажатиях клавиш или других событиях.
Достаточно ли будет в этом случае перехватывать функции GetMessage()
или TranslateMessage()
?Прав ли я, что любой процесс, использующий цикл сообщений, должен использовать эти функции для обработки событий для созданных окон?