句柄是什么意思(句柄的理解及窗体句柄的应用)
句柄是什么意思(句柄的理解及窗体句柄的应用)
昨天小编只是在微头条随手发了一条关于句柄的内容,没想到居然很多人感兴趣,由于微头条的结构限制并不能很好的将句柄讲清楚,今天特地在这里将小编所掌握的关于句柄的知识分享给大家。
句柄是什么
我们先看权威的解释:句柄是整个Windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象或实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息;
句柄控制对象的原则是:程序在运行时系统会在为进程分配一块内存,用来存储32位无符号整数,这些数值就是句柄,每个句柄在此处可以理解为一个指针变量,指向系统中一块在进程期间固定的内存。而这块内存不存别的东西,全部储存的是一个个地址,这个地址就是在进程运行期间各对象所在内存的地址。通过这个地址我们就能获取到对应的对象;Windows是一个以虚拟内存为基础的操作系统,在这种环境下,Windows内存管理器经常在内存中来回移动对象,以此来满足各种应用程序的需要。对象被移动意味着它的地址变化了,所以在运行过程中我们需要一个唯一且不变的标记来与每个对象对应,已达到不失去对对象的控制权的目的;如下图所示:
理解句柄
上面说的还是有点绕,那么我们该怎么去理解才能够更容易的掌握呢?我觉得用身份证来进行印证理解是最贴切的。身份证和句柄一样都是唯一的,且都代表一个具体的实体(对象)。每个人拥有一个唯一的身份证号码,通过身份证号码我们有可以去警察局处查住址登记簿,不管你这个人住址怎么变,只要你每次变更住址都会到警察局登记更新你的新住址,这样我们都能通过身份证号码在住址登记簿找到你的住址,从而找到你这个人。
或者你也可以用二级指针的概念来理解句柄,只不过句柄不具备很多指针的功能,比如赋值、获取属性的,在这里只是用来印证理解。
查看窗体句柄的工具
这里介绍一个可以快速查看窗体句柄的一个工具,大家在开发中可以通过这个工具辅助自己开发。这个工具就是spy++
spy++
这个软件如果大家是用vs开发的话,安装vs一般是默认安装这个软件的,大家按下图所示找一下就可以:
窗体句柄有什么用
关于窗体句柄的作用,这里给大家举一个最简单的例子,大家就会有很大的冲动想去学习句柄的使用了。假设现在有一个别人开发好的软件,现在需要向这个软件发一些命令,但是它又没有提供接口怎么办呢?这时候我们可以通过句柄来获取窗体控件对象,并通过windows的API去给对应的对象直接发消息;
这里通过windows定义的系统消息WM_GETTEXT(0x000D)来获取控件的text值;当然你还可以干很多事,只要是windows系统有定义的命令都可以发送给控件对象,如果让button点击一下,输入框的值改变等等;获取text值的代码如下(这边是用CSharp实现的,因为开发速度快~~):
这里就不详细讲user32这里的系统API的用法了,因为内容太多,这里只是给大家演示一下windows窗体句柄的一个作用,让大家有一定的了解;
如果大家对操控别人的窗体程序有兴趣可以留言给我,我可以专门写一篇关于这个的文章;
-
- 韩剧排行榜(十大必看韩剧排行榜)
-
2023-12-19 20:46:56
-
- 网传王思聪家的王可可丢了(王思聪带宠物王可可坐飞机)
-
2023-12-19 20:44:41
-
- 枸骨树的药用价值(农民讨厌的植物枸骨)
-
2023-12-19 20:42:26
-
- cma报考条件(cma报考条件报名时间和报名费用)
-
2023-12-19 20:40:11
-
- 返景入深林(《鹿柴》里的“返景”通假“返影”)
-
2023-12-19 20:37:56
-
- 世园会门票(扬州世园会门票)
-
2023-12-19 20:35:42
-
- 不温不火(爱情中男人对你“不温不火”的几个原因)
-
2023-12-19 20:33:27
-
- 黄鹤楼涡轮增压 黄鹤楼见证“凡尔赛”狂欢
-
2023-12-19 20:31:12
-
- 李一桐个人资料(狂飙剧中的李一桐)
-
2023-12-19 20:28:58
-
- 5分钟看懂中国象棋等级制度:你属于什么级别
-
2023-12-19 13:47:56
-
- 洋葱海外直邮:中国海关已官宣,在洋葱你没有机会买到假货!
-
2023-12-19 13:45:41
-
- 被误解千年的禅宗顿悟修行方式,一般人根本就不合适
-
2023-12-19 13:43:27
-
- 学什么技术好创业?有哪些热门行业推荐?
-
2023-12-19 13:41:12
-
- 水:汉字的起源与演变(小学一年级语文生字 第22集)
-
2023-12-19 13:38:57
-
- 十大致郁系动漫推荐,基本都是神作
-
2023-12-19 13:36:42
-
- 盘点:10本全球最畅销图书
-
2023-12-19 13:34:27
-
- 漫威宇宙最强英雄,惊奇队长为什么比雷神托尔更加强大?
-
2023-12-19 13:32:12
-
- 5本古穿今甜文,强推《穿成大佬的娇软美人》,轻松沙雕
-
2023-12-19 13:29:57
-
- 柱之男才是《JOJO》系列最强反派BOSS,不容置疑
-
2023-12-19 13:27:42
-
- 孝庄文皇后:历经三朝,为清朝走向兴盛奉献了自己的一生
-
2023-12-19 06:44:38