我使用Registerhotkey允许我的用户定义自定义组合键以执行不同的操作。我似乎遇到的问题是,目前无法检查密钥是否已存在。
例如:我的一位测试人员试图定义“Windows Key + D”,不知道这是最小化所有窗口的关键组合。所以我很好奇是否有任何方法可以判断是否给出了一个组合键,我可以检查该组合键是否已经存在于windows或任何其他应用程序中。
答案 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!