如何确定 Windows 中哪个进程拥有热键?

如何确定 Windows 中哪个进程拥有热键?

给定一个热键,我如何找到哪个程序拥有它?

答案1

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

如果你运行的是 Windows较早比 Windows 8, 然后Windows Hotkey Explorer可能就是你想要的。StackOverflow 问题中也提到了这一点:找出哪个进程注册了全局热键?(Windows API)

答案2

这在 Win10 上对我有用(可能在所有其他甚至是较新的 Windows 版本中也是如此)... 也从这里复制而来https://stackoverflow.com/a/43645062/995048因为这个页面似乎在搜索结果中首先出现:

一种可能的方法是使用Visual Studio 工具 Spy++

尝试一下:

  1. 运行该工具(对我来说,它位于C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\spyxx_amd64.exe,或用于spyxx.exe监控 32 位进程)
  2. 在菜单栏中,选择间谍->记录消息...(或点击Ctrl+ M
  3. 查看系统中的所有 Windows在里面附加窗口框架
  4. 切换到消息标签
  5. 点击清除全部按钮
  6. WM_HOTKEY在列表框中选择,或勾选键盘消息组(如果您可以接受更多的潜在噪音)
  7. 点击好的按钮
  8. 按下相应的热键(例如Win+ )R
  9. 选择WM_HOTKEY消息(所有 Windows)窗口,右键单击,然后选择特性...在上下文菜单中
  10. 在里面消息属性对话框中,点击窗口句柄链接(这将是接收消息的窗口的句柄)
  11. 点击同步按钮窗口属性对话框。这将在主 Spy++ 窗口树视图中显示该窗口。
  12. 窗口属性对话框中,选择过程标签
  13. 点击进程 ID链接。这将向您显示该过程(在我的Win+R情况下EXPLORER:)

答案3

我最近写了一个小工具 -热键侦探- 适用于较新的 Windows 版本(已在 8.1 和 10 上测试)。它仅显示触发按键时哪个进程拥有热键。

与其他已知工具不同,热键资源管理器,我的实用程序没有列出所有热键,因为那将涉及人为触发所有热键,最终会破坏系统。为了查看哪个进程是罪魁祸首,只需运行我的实用程序具有管理员权限然后按下窃取的热键。就这样。

Hotkey Detective 的来源和快速使用手册可以在以下位置找到:GitHub。 这二进制版本也在那里。

在此处输入图片描述

这是一个早期测试版,因此如果发现任何问题请报告。

答案4

我必须推荐开放方舟在“内核”选项卡的“系统热键”页面中,您可以找到所有已注册的热键及其对应的进程。请记住先单击“进入内核模式”按钮。

相关内容