加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – Vista及更高版本的系统范围键盘钩

发布时间:2020-12-14 02:02:25 所属栏目:Windows 来源:网络整理
导读:我有一个系统范围的键盘挂钩DLL,我已经创建了多年来在 Windows XP中成功运行. 但是,似乎在某些更高版本的Windows(Vista Home Premium和Windows 7,仅举几个例子)中,挂钩要么根本不起作用,要么只能在安装它的应用程序中本地工作. 我已经看到它在互联网上的几个
我有一个系统范围的键盘挂钩DLL,我已经创建了多年来在 Windows XP中成功运行.

但是,似乎在某些更高版本的Windows(Vista Home Premium和Windows 7,仅举几个例子)中,挂钩要么根本不起作用,要么只能在安装它的应用程序中本地工作.

我已经看到它在互联网上的几个地方建议在调用SetWindowsHookEx时将WH-KEYBOARD更改为WH-KEYBOARD-LL,但是当我尝试它时似乎没有帮助.除了将挂钩类型更改为WH-KEYBOARD-LL之外,我还需要更改其他内容吗?

(P.S.:我必须将WH-KEYBOARD-LL定义为13,因为它没有在Delphi中定义.我假设这是准确的.)

解决方法

确保托管挂钩的进程与您要挂接的应用程序具有相同的权限级别.键盘和其他挂钩具有很高的安全风险,因此Vista和更高版本更改为仅允许在公共特定安全上下文中的进程中的系统范围挂钩.换句话说,如果使用用户权限启动挂钩主机进程,它将只挂接处于相同权限级别的进程.如果您考虑一下,这是有道理的,因为您不希望用户级进程能够将代码注入管理级进程.这在很多层面都很糟糕.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读