3

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

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

4

1 回答 1

2

感谢 @jim-mischel帮助我找到这个解决方案

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

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!

于 2012-12-17T16:56:28.473 回答