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());

 

posted @ 2013-01-17 00:39  学海无涯1999  阅读(781)  评论(0编辑  收藏  举报