小众读者 pysense 曾经在小众客栈问道:

标题:寻检测系统中已注册过的热键的软件。@Appinn

主要是热键太多了,有时自己都给忘了,还有的是一些其他软件注册的全局热键,怕跟我的有冲突,不知道有没有这样的软件可以检测注册过的热键?

santhunler 找到一个满足要求的共享软件 Hotkey Elf。今天看到 Lifehacker 介绍的 Active Hotkeys,又让我想起这个帖子。

Active Hotkeys - 寻找系统的全局热键 1

它的使用非常简单,右击左边的第一个面板,选择 select all modifier keys,再右击第二个面板,选择 Select All key groups,点击 Test Active Hotkeys 按钮,就可以开始检查。

截图里检测出了 55 个全局热键,包括我用 AHK 写的快捷键。不过,它并不能 100% 地检查出 AHK 定义的快捷键,这个列表里面找不到 Alt + S 和 Alt + A,我这两个快捷键的的确确是全局的。该软件只能知道快捷键被占用,不知道被哪个软件占用,也不能修改。

另外,在那个帖子下,ElTopo 给出过一个专业的回答:

系统全局热键是调用 RegisterHotKey() 函数登记热键,如果进程 A 已经登记了一个热键组合,另一个进程 B 再叫 RegisterHotKey() 登记同一个热键组合会失败,但进程 B 只知道该热键组合已经被占用,不知道具体是哪个进程占用。

所以当你定义系统热键组合时如果已经被占用,软件应该提示你换别的热键组合。

如果你一定想要知道目前系统中哪些热键组合已经被占用,可以写一个很简单的小程序,对全部热键组合逐一调用 RegisterHotKey() 然后检查是否成功,如果不成功则说明该热键组合不可用(如果成功说明该热键组合未被占用,此时别忘了叫 UnRegisterHotKey() 释放该试验热键组合)。

小众软件下载下载(364KB):uushare|官方网站|来自小众软件|skydrive|dropbox