2011-11-15 73 views
-1

我想要检索鼠标信息到我的C#应用​​程序,该信息包括:获得鼠标信息C#

  • 当鼠标位置的变化
  • 当鼠标点击
  • 当使用或点击
滚轮

我已经能够找到如何从this question 获得鼠标位置,但对于其他鼠标信息,我还不知道。但我知道我必须使用win api。

更新: 我需要全局信息,而不是我的窗体或我的控件,实际上我的窗体是隐藏的,我只需要在应用程序运行期间存储鼠标信息。

+0

所有这些信息都可以从Windows窗体和控件中的事件中获得。你是说你想在全球范围内获得这些信息吗? –

+2

查看控件/表单事件,并且您需要指定WPF或WinForms – kenny

+1

当鼠标悬停在自己的窗口上时,您是否只需要这些信息,或者无论鼠标在屏幕上的哪个位置,您是否需要它? (对于前者,可以覆盖WinForms中的Control.OnMouseMove/Click/Wheel方法;如果您想要在全局中使用该方法,则可能需要P/Invoke才能安装低级别的鼠标挂钩。) – BrendanMcK

回答

1

一般来说,各个控件都希望了解与它们相关的鼠标操作,这就是为什么它们具有捕获此信息的事件,因此应该相应地使用它们。

但是,如果您需要在表单之外查看此信息,那么您将需要一个全局鼠标钩子。这里有一篇文章:http://www.codeproject.com/KB/cs/globalhook.aspx