【问题标题】:Global Hotkeys - C#全局热键 - C#
【发布时间】:2012-04-16 17:40:33
【问题描述】:

我已经构建了一个应用程序,它监听全局热键(目前是 Alt + Space),当我在谷歌浏览器处于焦点时按下热键时,它会使我的应用程序成为焦点,但也会打开 Chrome 的上下文菜单(右键菜单)。我将以下 dll 用于implementing the keyboard hook

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

编辑

我选择的正确答案是正确的答案,但针对我的问题。为了在 C# WinForm 中正确实现这个功能,我使用了这个非常有帮助的教程:http://www.dreamincode.net/forums/topic/180436-global-hotkeys/

【问题讨论】:

  • “实现键盘挂钩”是你的问题。使用RegisterHotkey 而不是滥用键盘挂钩。有很多重复:stackoverflow.com/…
  • @CodeInChaos 刚刚在我的应用程序中实现了 RegisterHotkey 方法,这是一种更简洁的方法,将根据您的建议更新我的问题。谢谢

标签: c# keyboard-shortcuts keyboard-hook


【解决方案1】:

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

问题

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

回答

只需在您拥有的关键事件中将e.Handled 属性设置为true 处理。它可以防止击键被其他人处理 应用程序。

【讨论】:

  • 解决了眼前的问题,但显然仍然是错误的解决方案。
  • @CodeInChaos - 当然,但我回答了问题。这个问题很直接。我实际上是在写评论来支持你使用RegisterHotkey 的建议。我想现在没有必要了。
猜你喜欢
  • 2017-12-20
  • 2016-06-04
  • 2018-12-21
  • 1970-01-01
  • 2016-02-28
相关资源
最近更新 更多