C#实现获取鼠标句柄的方法
作者:shichen2014 发布时间:2022-05-06 21:13:41
标签:C#,获取
本文实例讲述了C#实现获取鼠标句柄的方法,分享给大家供大家参考。具体实现方法如下:
一、调用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;
注:动态显示信息
三、运行结果如下图所示:
四、完整实例代码点击此处本站下载。
希望本文所述对大家的C#程序设计有所帮助


猜你喜欢
- 本文通过解决老王经常搞错借书人的问题,来引出行为型模式中的命令模式。为了在案例之上理解的更加透彻,我们需要了解命令模式在源码中的应用。最后指
- protected 来谈谈protected访问权限问题。看下面示例1:Test.javaclass MyObject {}public c
- Map集合的概述概述:interface Map<K,V> 其中K是键的类型,键是唯一的,不重复。V是值的类型,是可以重复。且每
- (1)编写接口Animal (Animal.java)public interface Animal{ public abstr
- Java动态数组Arraylist存放自定义数据类型class Point{ int x; int y; public Point(int
- 本文实例讲述了android中图形图像处理之drawable用法。分享给大家供大家参考。具体如下:一、如何获取 res 中的资源数据包pac
- 一、使用Json.NetJson.Net是支持序列化和反序列化DataTable、DataSet、Entity Framework和Enti
- Mybatis mapper模糊查询语句LIKE最近做学校安排的课程设计作业,用到SSM框架,在自己写mapper代码是遇到了模糊查询的问题
- 本文实例为大家分享了C#使用Socket实现本地多人聊天室的具体代码,供大家参考,具体内容如下【脚本一:Server端】使用本机地址:127
- 本文实例讲述了java可变参数当做数组处理的方法.分享给大家供大家参考,具体如下:java可变参数当做数组处理ava1.5增加了新特性:可变
- 事件:定义了事件成员的类允许通知其他其他对象发生了特定的事情。具体的说,定义了事件成员的类能提供以下功能1.方法能登记它对事件的关注2.方法
- 介绍1.BLE 是 Bluetooth Low Energy 的缩写,意思为低功耗蓝牙。由蓝牙技术联盟(Bluetooth SI
- 本文实例为大家分享了Unity实现截图功能的具体代码,供大家参考,具体内容如下一、使用Unity自带APIusing UnityEngine
- 目录什么是Insets?Insets相关类InsetsStateInsetsStateControllerInsetsSourceInset
- 一、类加载器类加载器(ClassLoader),顾名思义,即加载类的东西。在我们使用一个类之前,JVM需要先将该类的字节码文件(.class
- 在[高并发Java 二] 多线程基础中,我们已经初步提到了基本的线程同步操作。这次要提到的是在并发包中的同步控制工具。1. 各种同步控制工具
- 目录效果图实现自定义软键盘1、通过xml定义键盘2、将xml文件与keyboardview绑定起来3、处理点击事件onKey附赠一些实用的效
- 有了Eureka服务注册发现、Hystrix断路器、Ribbon服务调用负载均衡,以及spring cloud config 集群配置中心,
- 一个Resty项目包含的部分(resty-route):1. RestFilter像其他web框架一样,Resty也需要一个入口,在web.
- 在网上看到一个进度条效果图,非常美观,如下:进行效果分解:1.渐变色,看起来颜色变化并不复杂,使用LinearGradient应该可以实现。