在c#中获取鼠标位置

我如何获得鼠标位置? 我想要在屏幕位置。

我开始我的程序我想设置为当前的鼠标位置。

Location.X = ?? Location.Y = ?? 

编辑:这必须发生在窗体创build之前。

你应该使用System.Windows.Forms.Cursor.Position :“一个表示光标在屏幕坐标中的位置的点。

如果您不想引用表单,则可以使用interop来获取光标位置:

 /// <summary> /// Struct representing a point. /// </summary> [StructLayout(LayoutKind.Sequential)] public struct POINT { public int X; public int Y; public static implicit operator Point(POINT point) { return new Point(point.X, point.Y); } } /// <summary> /// Retrieves the cursor's position, in screen coordinates. /// </summary> /// <see>See MSDN documentation for further information.</see> [DllImport("user32.dll")] public static extern bool GetCursorPos(out POINT lpPoint); public static Point GetCursorPosition() { POINT lpPoint; GetCursorPos(out lpPoint); //bool success = User32.GetCursorPos(out lpPoint); // if (!success) return lpPoint; } 

Cursor.Position会得到鼠标当前的屏幕截图(如果你在一个Control中 , MousePosition属性也会得到相同的值)。

要设置鼠标位置,您将不得不使用Cursor.Position并给它一个新的Point :

 Cursor.Position = new Point(x, y); 

创build表单之前,您可以在Main方法中执行此操作。

回答你的具体例子:

 // your example Location.X = Cursor.Position.X; Location.Y = Cursor.Position.Y; // sample code Console.WriteLine("x: " + Cursor.Position.X + " y: " + Cursor.Position.Y); 

不要忘记添加using System.Windows.Forms; ,并添加引用(右键单击引用>添加引用> .NET选项卡> Systems.Windows.Forms>确定)

 System.Windows.Forms.Control.MousePosition 

获取鼠标光标在屏幕坐标中的位置。 “Position属性与Control.MousePosition属性相同”。

要获得位置看OnMouseMove事件。 MouseEventArgs会给你x和y的位置…

 protected override void OnMouseMove(MouseEventArgs mouseEv) 

要设置鼠标位置,请使用Cursor.Position属性。

http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx

初始化当前的光标。 用它来得到X和Y的位置

 this.Cursor = new Cursor(Cursor.Current.Handle); int posX = Cursor.Position.X; int posY = Cursor.Position.Y;