WPF获取鼠标的位置

在wpf中获取鼠标位置可以从某些鼠标参数中获得
比如MouseButtonEventArgs 这个参数的GetPosition()
或者是静态类Mouse.GetPosition();
但是这个两个方法都是相对wpf的窗口的中某个ui元素来说
也就是说获得的鼠标的位置是相对于窗口来说的,是以wpf窗口的0,0坐标来计算,而不是整个电脑屏幕的0,0坐标来计算

可以用下面一个方法来获得鼠标相对于整个屏幕的绝对位置

添加命名空间
using System.Runtime.InteropServices;

class Win32
    {
        [StructLayout(LayoutKind.Sequential)]
        public struct POINT
        {
            public int X;
            public int Y;

            public POINT(int x, int y)
            {
                this.X = x;
                this.Y = y;
            }
        }

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern bool GetCursorPos(out POINT pt);
    }
使用的时候这样调用:
           Win32.POINT pi = new Win32.POINT();
            Win32.GetCursorPos(out pi);
            MessageBox.Show(pi.X.ToString() + "__" + pi.Y.ToString());

本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

posted @ 2010-05-26 17:56  音乐啤酒  阅读(3902)  评论(0编辑  收藏  举报