用于查找哪些程序正在使用键盘挂钩的工具?

用于查找哪些程序正在使用键盘挂钩的工具?

我正在寻找一个好的工具来找到所有连接到键盘处理程序的程序。

热键指挥官未显示所有程序。我有两个应用程序正在运行,它们定义并运行了全局热键,但这些程序未在 Hotkey Commander 中列出。

深度系统探索者找不到某些驱动程序并显示错误。

还有其他吗?

我正在使用 Windows 7 64 位。

答案1

我最近也研究了这个问题,我最接近的答案是发现显然没有办法通过编程询问 Windows 谁已经注册了键盘钩子(尽管对相似但未标记重复的问题StackOverflow 上的一篇文章声称这是可能的。大多数设计用于执行此操作的程序只是查看所有快捷方式 (.lnk) 文件(通常在“开始”菜单中),以查看哪些文件已分配热键 - 但这几乎没用。

就我而言,我无法使用 Eclipse 和 WinSplit Revolution 中我经常使用的几个键盘快捷键(WinSplit 甚至在启动时抱怨每个键盘快捷键已被其他人占用)。虽然我没有找到可以找出谁劫持了我的键盘快捷键的程序,但我确实找到了一种解决方法。

  1. 对于系统托盘(任务栏右侧/底部的任务栏区域)中的每个图标,右键单击或双击并进入选项(有时称为“设置”)。
  2. 浏览每一页选项,查找任何提及键盘快捷键或热键的内容。
  3. 禁用每个系统托盘小程序中不使用的小程序。
  4. 在某些情况下,没有选项可以禁用热键,您唯一的选择是在启动时禁用该程序或卸载该程序。

最后,我不得不禁用大约六个程序的热键,甚至有一个程序我必须卸载。我必须禁用热键的程序包括 SnagIt(一个屏幕截图工具)、DisplayFusion(一个任务栏增强器)、Skype、我的显卡控制面板小程序和 TrueCrypt。

答案2

您尝试过 Spy++ 吗?它可以帮您解决这个问题。


Spy++ 似乎包含在 Windows SDK 中,但我似乎找不到下载链接了。我会继续寻找;与此同时,这里还有一些其他工具可供查看:

答案3

我自己也曾多次被这个问题困扰。幸运的是,上次我找到了一个程序,可以完全满足您的要求。

警告:如果您使用 Win 8 或更高版本,请不要使用此实用程序,因为它会产生一些麻烦。

它被称为Windows 热键资源管理器并且可以免费下载(不要与同一页面上的付费 Hotkey Commander 混淆)。它会向您显示所有热键以及哪些程序保留了它们。

相关内容