如何判断Hotkey组合是否已存在

时间:2012-12-17 16:00:42

标签: c#

我使用Registerhotkey允许我的用户定义自定义组合键以执行不同的操作。我似乎遇到的问题是,目前无法检查密钥是否已存在。

例如:我的一位测试人员试图定义“Windows Key + D”,不知道这是最小化所有窗口的关键组合。所以我很好奇是否有任何方法可以判断是否给出了一个组合键,我可以检查该组合键是否已经存在于windows或任何其他应用程序中。

1 个答案:

答案 0 :(得分:2)

感谢@ jim-mischel for helping me find this solution

要检查是否存在热键,只需执行以下操作:

int ShortcutID = 100; // ID used for this Shortcut Key Combination
uint keyModifier = 2; // This is the Control Key
Char alphanumericKey = "C";
bool didItError
   = RegisterHotKey(this.Handle, ShortcutID, keyModifier, (int)alphanumericKey );

由于Control+C是Windows注册的密钥组合,RegisterHotKey将返回false,如果它不是注册的密钥组合,则返回true!