-
C#教程之C#实现获取鼠标句柄的方法
本文实例讲述了C#实现获取鼠标句柄的方法,分享给大家供大家参考。具体实现方法如下:
一、调用user32.dll
(1)引用
1
|
using System.Runtime.InteropServices; |
(2)调用方法
1、获取窗口标题
1
2
|
[DllImport( "user32.dll" )] public static extern int GetWindowText( IntPtr hWnd, StringBuilder lpString, int nMaxCount ); |
注:hWnd 窗口句柄 lpString 窗口标题 nMaxCount 最大值
2、获取类名
1
2
|
[DllImport( "user32.dll" )] public static extern int GetClassName( IntPtr hWnd, StringBuilder lpString, int nMaxCount ); |
注:hWnd 句柄 lpString 类名 nMaxCount 最大值
3、根据坐标获取窗口句柄
1
2
|
[DllImport( "user32.dll" )] public static extern IntPtr WindowFromPoint(Point point); |
注:point 坐标
二、显示数据
(1) 获取鼠标坐标
1
2
3
|
int x = Cursor.Position.X; int y = Cursor.Position.Y; this .textBox4.Text = string .Format( "({0},{1})" , x, y); |
(2) 获取句柄
1
2
3
|
Point p = new Point(x,y); IntPtr formHandle = WindowFromPoint(p); this .textBox1.Text = formHandle.ToString(); |
(3) 得到窗口标题
1
2
|
GetWindowText(formHandle,title,title.Capacity); this .textBox2.Text = title.ToString(); |
(4)得到窗体的类名
1
2
3
|
StringBuilder cllassName = new StringBuilder(); GetClassName(formHandle,cllassName,cllassName.Capacity); this .textBox3.Text = cllassName.ToString(); |
(5)Load事件
1
|
this .timer1.Enabled = ! this .timer1.Enabled; |
注:动态显示信息
三、运行结果如下图所示:
四、完整实例代码点击此处本站下载。
希望本文所述对大家的C#程序设计有所帮助
栏目列表
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比