首页 > 代码库 > 获取鼠标句柄

获取鼠标句柄

一、调用user32.dll

      (1)引用

               using System.Runtime.InteropServices;

       (2)调用方法

            1、获取窗口标题

            [DllImport( "user32.dll" )]  
            public static extern int GetWindowText( IntPtr hWnd, StringBuilder lpString,int nMaxCount );

            注:hWnd 窗口句柄  lpString 窗口标题   nMaxCount 最大值

           2、获取类名

             [DllImport( "user32.dll" )]  
            public static extern int GetClassName( IntPtr hWnd, StringBuilder lpString,int nMaxCount );

            注:hWnd 句柄 lpString 类名 nMaxCount 最大值

           3、根据坐标获取窗口句柄

             [DllImport( "user32.dll" )]  
            public static extern IntPtr WindowFromPoint(Point point);

            注:point 坐标

  二、显示数据

        (1) 获取鼠标坐标

               int x = Cursor.Position.X;
               int y = Cursor.Position.Y;
               this.textBox4.Text = string.Format( "({0},{1})" , x, y);

        (2) 获取句柄

               Point p = new Point(x,y);
               IntPtr formHandle = WindowFromPoint(p);
               this.textBox1.Text = formHandle.ToString();

        (3) 得到窗口标题

               GetWindowText(formHandle,title,title.Capacity);
               this.textBox2.Text = title.ToString();

        (4)得到窗体的类名

             StringBuilder cllassName = new StringBuilder();
            GetClassName(formHandle,cllassName,cllassName.Capacity);
            this.textBox3.Text = cllassName.ToString();

        (5)Load事件

            this.timer1.Enabled = !this.timer1.Enabled;

            注:动态显示信息

  三、结果

          

 

  三、源码下载:http://pan.baidu.com/s/1qWNTe4s

             

获取鼠标句柄