源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#实现获取鼠标句柄的方法

  • 时间:2020-05-29 20:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#实现获取鼠标句柄的方法
本文实例讲述了C#实现获取鼠标句柄的方法,分享给大家供大家参考。具体实现方法如下: [b]一、调用user32.dll[/b] (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 坐标 [b]二、显示数据[/b] (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;

注:动态显示信息 [b]三、运行结果如下图所示: [/b] [img]http://files.jb51.net/file_images/article/201409/2014929114638339.jpg?2014829114657[/img]   四、[b]完整实例代码[/b]点击此处[url=http://xiazai.jb51.net/201409/yuanma/get-mouse-handle(jb51.net).rar]本站下载[/url]。 希望本文所述对大家的C#程序设计有所帮助
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部