【问题标题】:Listening to keyboard events in C#在 C# 中监听键盘事件
【发布时间】:2011-07-25 05:54:00
【问题描述】:

我正在为我的雇主构建一个小型应用程序,在该应用程序中按下某个键会显示一个模型框,其中包含我们的一位技术人员在提供一对一支持时需要的信息。

它是一个非常简单的应用程序,但在不给用户造成任何问题的情况下跟踪键盘事件让我感到困惑。

基本上我需要编写一个类,当 CTRLALT + H 被触发时,我可以依靠它向我发送一个事件。

在不通过我的应用程序触发大量事件的情况下完成此操作的最佳方法是什么,例如,在输入击键时让窗口通知我。

问候。

【问题讨论】:

    标签: c# events keyboard keystrokes


    【解决方案1】:

    使用global hotkey。该链接包含一个类,该类封装了在 .NET 中使用全局热键所需的 P/Invoke 内容。

    【讨论】:

    • 使用全局热键,我可以注册一个应用程序上下文而不是一个表单吗?
    • Hotkey 类中,尝试将IntPtr.Zero 而不是windowControl.Handle 传递给Hotkey.RegisterHotKey 方法。
    • 我还没试过,一直在看@mgronber的帖子
    • @RobertPitt:恕我直言,全局热键是更好的解决方案,因为您的要求正是它的用途。
    【解决方案2】:

    查看 (http://www.codeproject.com/kb/cs/globalhook.aspx) 的键盘钩子,然后查看它们向您展示如何聆听特定组合的位置 (http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/2b91129c-bcc4-4cd7-bf6b-25fb10629b8a)。

    希望对您有所帮助...

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多