2

我正在使用低级键盘挂钩 (WH_KEYBOARD_LL) 来禁用某些输入,例如 Alt-Tab。我在带有消息泵的线程上创建了钩子,因此我可以正确处理通知。

只要我不关注创建钩子的窗口(即我的主窗口),钩子的回调函数就能够处理键盘事件,但是一旦我激活该窗口,钩子中不会出现任何事件,直到我停用再次窗口,输入改为传播到窗口的 WindowProc。

有人知道这里发生了什么吗?

更新:所以,事实证明这种行为是由于在同一进程中注册原始输入引起的。显然,每当我的进程窗口聚焦时,使用原始输入会导致我的低级键盘挂钩被禁用。有谁知道为什么以及如何解决这个问题?

4

0 回答 0