【问题标题】:How to catch mouse event and keyboard event如何捕捉鼠标事件和键盘事件
【发布时间】:2012-10-24 03:41:44
【问题描述】:

我开发了一个网络浏览器,我想同时捕捉键盘事件和鼠标事件。如果鼠标事件和键盘事件在给定时间段内没有发生,如何捕捉它。

【问题讨论】:

  • 你刚才说什么?你开发了网络浏览器?
  • 请改写你的问题......这没有意义
  • 相信您已经在winform应用程序上使用了Web浏览器控件。并且您想在该控件上捕获事件。请确认。

标签: c# c#-4.0 c#-2.0


【解决方案1】:

鼠标事件和键盘事件可以使用 windows 钩子在 dotnet 中捕获。这些钩子是通过对SetWindowsHookEx 的 p/invoke 调用创建的。

特别是,您只能使用两种类型的挂钩: 低级的键盘和鼠标钩子,称为 WH_KEYBOARD_LL 和 WH_MOUSE_LL,这些正是您所需要的。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:
       protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
              {
                  if (keyData == Keys.Escape)
                  {
                      //make some action
                  }
                  return base.ProcessCmdKey(ref msg, keyData);
              } 
      

      这是在键盘上捕捉 Escape 键的方法。 并检查此以获取有关鼠标事件的更多信息 Mouse Events

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-31
        • 1970-01-01
        • 1970-01-01
        • 2015-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多