Windows: Indentify Global Shortcut Occupy

 20th August 2020 at 2:19pm

判断 Windows 中什么软件占用了全局热键。

有些软件莫名会其妙地占用了全局热键,例如企业微信某个版本,把它没用到的 Shift+Esc 以全局模式给占用了,导致在 IntelliJ 中没法用到这个热键,这个时候就需要排查谁占用了这个热键。

参考这个 SuperUser 回答,使用 Spy++ 可以找到占用该热键的进程。方法如下:

  1. 通过安装 VS 的 Community 版以获得 Spy++。Spy++ 在「开发活动」中的「Visual Studio C++ 核心功能」中
  2. Spy++ 分 64 位和 32 位版,文件名分别是 spyxx_amd64.exespyxx.exe,分别能捕获 64 位和 32 位程序的窗口事件。使用 Listary 定位之并打开
  3. Ctrl+M 打开「消息选项」,「其他窗口」中勾选上「系统中的所有窗口」,「消息」Tab 中「全部消除」,再选上 WM_HOTKEY。点击确定
  4. 按你想定位的快键(如 Shift+Esc),看「消息(所有窗口)」上有无内容出现,有的话定位到是哪个窗口和程序

Over。