WPF获取鼠标的位置
文章来自:博客园-音乐啤酒
在wpf中获取鼠标位置可以从某些鼠标参数中获得
比如MouseButtonEventArgs 这个参数的GetPosition()
或者是静态类Mouse.GetPosition();
但是这个两个方法都是相对wpf的窗口的中某个ui元素来说
也就是说获得的鼠标的位置是相对于窗口来说的,是以wpf窗口的0,0坐标来计算,而不是整个电脑屏幕的0,0坐标来计算
可以用下面一个方法来获得鼠标相对于整个屏幕的绝对位置
添加命名空间:
1 using System.Runtime.InteropServices;
代码:
1 class Win32 2 { 3 [StructLayout(LayoutKind.Sequential)] 4 public struct POINT 5 { 6 public int X; 7 public int Y; 8 9 public POINT(int x, int y) 10 { 11 this.X = x; 12 this.Y = y; 13 } 14 } 15 16 [DllImport("user32.dll", CharSet = CharSet.Auto)] 17 public static extern bool GetCursorPos(out POINT pt); 18 }
使用时调用:
1 Win32.POINT pi = new Win32.POINT(); 2 Win32.GetCursorPos(out pi); 3 MessageBox.Show(pi.X.ToString() + "__" + pi.Y.ToString());