2012-04-16 66 views
0

我已经构建了一个应用程序,用于侦听全局热键(当前为Alt +空格键),当我按下热键时Google Chrome处于焦点状态,它将使我的应用程序专注,同时打开Chrome的上下文菜单(右键菜单)。我使用下面的dll为implementing the keyboard hook全球热键 - C#

我可以防止这种情况发生吗?如果是这样如何?这不是一个主要问题,但如果有一种方法可以清除与该组合关联的所有现有热键,那么我想知道这一点。

编辑

,我选择作为一个正确的答案,是正确的,但我的问题。要正确实现此功能为C#WinForm的我用这个教程,是非常有益的:http://www.dreamincode.net/forums/topic/180436-global-hotkeys/

+2

“执行键盘挂钩”这是你的问题。使用'RegisterHotkey'而不是滥用键盘钩子。有一些重复:http://stackoverflow.com/search?q=user%3A445517+registerhotkey&submit=search – CodesInChaos 2012-04-16 17:49:16

+0

@CodeInChaos只是实施了RegisterHotkey方法到我的应用程序更清洁的方法,将更新我的问题与您的建议。谢谢 – Nate 2012-06-18 16:59:37

回答

2

链接的文章的常见问题解答部分包含你的答案:

问题

我需要在处理它们之后抑制一些击键。

回答

就在你 处理关键事件的e.Handled属性设置为true。它可以防止其他 应用程序处理的击键。

+0

多么愚蠢的我,感谢您花时间! – Nate 2012-04-16 17:51:18

+0

解决了眼前的问题,但显然仍然是错误的解决方案。 – CodesInChaos 2012-04-16 17:52:14

+0

@CodeInChaos - 当然,但我回答了问题。这个问题非常直接。我实际上正在写一条评论来支持你使用'RegisterHotkey'的建议。我想现在没必要。 – 2012-04-16 17:55:28