我有一个系统范围的键盘钩子DLL,我已经创build了在Windows XP中已经成功运行多年。
不过,在某些更高版本的Windows(Vista Home Premium和Windows 7)中,挂钩要么完全不起作用,要么仅仅在安装它的应用程序的本地工作。
我已经看到在互联网上的几个地方build议在调用SetwindowsHookEx时将WH-KEYBOARD改为WH-KEYBOARD-LL,但是当我尝试它时,这似乎不起作用。 除了将钩子types更改为WH-KEYBOARD-LL之外,是否还有其他需要更改的内容?
(PS:我必须将WH-KEYBOARD-LL定义为13,因为它在Delphi中没有定义,我假设这是准确的。)
Word Addin本地键盘挂钩
全局键盘挂钩c
如何使用SetwindowsHookEx和WH_KEYBOARD钩住外部进程
ToUnicode调用ToUnicodeEx吗? ToUnicodeEx在内核空间线程上有什么变化?
wxPython:捕捉全球关键事件
键盘挂钩改变键的行为
我的应用程序如何findWindows消息的发件人?
检测C3中的全局键盘钩子
确保托管钩子的进程与您想要钩住的应用程序的特权级别相同。 键盘和其他挂钩是一个高安全性的风险,所以Vista和后来更改为只允许在一个共同的特定安全上下文中的系统范围的钩子。 换句话说,如果使用用户权限启动钩子主机进程,它将只钩挂处于相同特权级别的进程。 如果你仔细想想,这是有道理的,因为你不希望用户级进程能够将代码注入到管理级进程中。 这在很多层面上都很糟糕。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。