在C#中单击鼠标获取鼠标坐标

时间:2010-06-28 03:05:03

标签: c# logging mouse coordinates

我想自己构建一个将在后台运行的应用程序(系统托盘),并在我单击左或右按钮时记录鼠标的坐标。我在网上发现了这个代码,通过一个触发事件来获得鼠标坐标:

protected override void OnMouseMove(MouseEventArgs mouseEv) 
{ 
    txtMouseX.Text = mouseEv.X.ToString(); 
    txtMouseY.Text = mouseEv.Y.ToString(); 
}

这指向了正确的方向,我现在知道如何获得鼠标的X和Y坐标,但是如果应用程序是,我不知道如何触发函数或鼠标单击的任何内容在后台运行。此外,似乎此代码仅以其运行的形式运行,而不是整个屏幕?

欢迎任何帮助,欢呼。

3 个答案:

答案 0 :(得分:1)

你需要一个全局钩子。这是一个代码项目文章,其中包含一个可以满足您需求的库:Global Mouse and Keyboard Library

答案 1 :(得分:0)

您可以随时使用GetCursorPos win32 API获取鼠标的位置。以下是此示例代码: -

Dim MyPointAPI As POINTAPI

私人类型POINTAPI   X很长   Y长 结束类型

私有声明函数GetCursorPos Lib“user32”(lpPoint as POINTAPI)As Long

Public Sub Timer1_Timer()   l = GetCursorPos(MyPointAPI)   Label1.Caption = CStr(MyPointAPI.X)& “,”& CStr的(MyPointAPI.Y) 结束子

答案 2 :(得分:0)

看看这个图书馆http://globalmousekeyhook.codeplex.com/。 它允许您跟踪系统中的鼠标坐标系,即使您的应用程序处于非活动状态(在托盘中)。