首页  编辑  

获取系统已经注册的热键列表

Tags: /超级猛料/Hardware.硬件相关/键盘和鼠标/   Date Created:

获取系统的热键列表

Windows本身并没有提供获取所有注册热键的功能,我们要获取的话,只有靠枚举扫描的方式来实现,也就是说把所有的热键组合扫描一遍,看是否可以注册,如果可以注册,那么说明该热键组合没有被使用,如果不能注册,说明该热键已经被注册,就这么简单。

可以参考HotKeyManager的源代码,其中就有列出所有热键的代码:

 GetCombination(MOD_WIN);

 GetCombination(MOD_WIN + MOD_SHIFT);

 GetCombination(MOD_WIN + MOD_CONTROL);

 GetCombination(MOD_WIN + MOD_ALT);

 GetCombination(MOD_WIN + MOD_SHIFT + MOD_CONTROL);

 GetCombination(MOD_WIN + MOD_SHIFT + MOD_ALT);

 GetCombination(MOD_WIN + MOD_CONTROL + MOD_ALT);

 GetCombination(MOD_WIN + MOD_SHIFT + MOD_CONTROL + MOD_ALT);

 GetCombination(MOD_SHIFT);

 GetCombination(MOD_SHIFT + MOD_CONTROL);

 GetCombination(MOD_SHIFT + MOD_ALT);

 GetCombination(MOD_SHIFT + MOD_CONTROL + MOD_ALT);

 GetCombination(MOD_CONTROL);

 GetCombination(MOD_CONTROL + MOD_ALT);

 GetCombination(MOD_ALT);

 GetCombination(0);

HotKeyManager.rar (194.0KB)