全局键盘钩子的合法用途是什么?

时间:2008-11-22 02:14:35

标签: operating-system hook

除应用程序启动快捷方式(仅应由操作系统提供)外,Windows键盘挂钩等的合法用途是什么?在我看来,我们只遇到像键盘记录器这样的问题,因为操作系统提供钩子来执行除O / S内核本身之外的任何人都不应该允许的事情。

编辑:好的,所以考虑到可能需要它们的合法位置,O / S不应该提供全局关闭它们的高级别能力,并且只允许逐个程序的例外吗?

5 个答案:

答案 0 :(得分:3)

我目前正在为企业客户端开发移动应用程序平台/硬件抽象层,其中一个要求是在一段时间不活动后会启动屏幕保护程序。由于移动设备没有鼠标移动,“活动”包括按键或屏幕点击。我们的一个设备没有触摸屏,而且,为了延长故事,移动硬件供应商没有正确实现Win32 API调用,这使我能够获得自上次用户输入以来的时间。

由于硬件供应商不愿意正确实施Win32 API,我所知道的另一种最好的方法是确保我的控制台应用程序可以在系统上的任何应用程序中捕获按键,这是安装全局键盘钩。

也就是说,我同意普通的消费者场景与我的非常不同,操作系统应该允许用户将这样的活动列入白名单。

答案 1 :(得分:2)

不正确,有些环境中计算机的所有者可能想要停止诸如Ctrl + Alt + Delete ...例如,Kiosk或...... .... Best Buy?

答案 2 :(得分:1)

例如,我安装了两个应用程序;

  • 将Windows-V映射为paste无格式文本
  • 另一个modifies大写锁定如何工作

我认为他们都需要一个钩子。

答案 3 :(得分:1)

我写了一个应用程序,让我在我的显示器上放置虚拟便签。我使用OS键盘钩子将热键绑定到它。

我在设置中有一个选项来禁用挂钩。

答案 4 :(得分:0)

可能没有很多合法用途。但是,我认为您不应该故意限制系统的功能,只是为了使其更安全。

此外,如果您知道密钥记录器并且您自己安装了密钥记录器并不是坏事。