转自:https://www.cnblogs.com/barcelong/articles/1261015.html

句柄

句柄是什么

在windows中,句柄是和对象一一对应的32位无符号整数值 。对象可以
映射到唯一的句柄,句柄也可以映射到唯一的对象。

句柄和指针的区别

牧童遥指杏花村
牧童的手为指针,杏花村的牌子为句柄,杏花村酒店为对象的实例.

“句柄”(handle),handle的本意是把柄,把手的意思。是你与操作系统打交道的东西。

 举个例子:比如你做了亏心事(我说的是比如,呵呵),不幸让我抓住了把柄,那么我让你做什么你就得做什么,因为你的把柄在我这。我们编程的时候也是这样,比如我们要想操纵一个窗口,那我们就必须“抓住它的把柄”,只有这样,我们才能改变它的属性,改变它的式样,甚至销毁它(狠了点儿)。
 我们再引用一个通俗一点的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)就可以享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。而指针的权力就大多了,有了指针你可以到处去喝酒,打架,学校(操作系统)管不着,所以句柄和指针的区别在于句柄只能调用系统提供的服务。而句柄虽然是一个能相互区别的号码,但与我们普通的ID号又有区别,普通的ID号是可以由程序员自己定义的,而句柄不行,它是对象生成时系统指定的,是为了区别系统中存在的各个对象,这个句柄不是由程序员赋给的。实际应用中,最常用的就是文件句柄和窗口句柄。例如,窗口句柄的值是一个长整数,每个窗体都用一个句柄来表示。所以句柄是不会重复的,很多的函数都会用到窗体的句柄。

关于“句柄”(Handle)的理解相关推荐

  1. 句柄Handle的含义及使用

    本文转载于:https://blog.csdn.net/swordarcher/article/details/81744930 1.句柄 : 头文件:winnt.h(也可以使用windows.h头文 ...

  2. 什么叫句柄(Handle)?

    句柄 是windows编程的一个关键性的概念,编写windows应用程序总是要和各种句柄打交首,所谓句柄,就是一个4字节长的唯一的数,用以标识许多不同的对象类型,由于windwos是一个多任务操作系统 ...

  3. c语言windows编程句柄,HANDLE句柄(windows编程)

    首先什么是句柄?(理解了句柄,也就知道了句柄和指针的区别了) 所谓句柄实际上是一个数据,是一个Long (整长型)的数据. 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WIND ...

  4. C++-------对handle的理解

    转自:https://blog.csdn.net/Godsight/article/details/52738175 我觉得自己对于指针理解比较透彻了,但关于句柄的理解,就容易犯理解成指针的错误.  ...

  5. 计算机中的“句柄”(handles)是什么意思?(就是内存地址)Intel Realsense中的frame_handle是什么?(什么是上下文context以及句柄handle?)

    可以将frame_handle视为封装一个实际帧对象的智能指针. 这种抽象非常有用,例如对于同一帧的并发处理. 参考文章1:计算机中的"句柄"是什么意思? 参考文章2:What's ...

  6. C++HANDLE的理解

    HANDLE:句柄,是WINDOWS用来表示对象的,是一个通用句柄表示. 在WINDOWS程序中,有各种各样的资源(窗口.图标.光标等),系统在创建这些资源时为他们分配内存,并返回标示这些资源的标示号 ...

  7. resip学习笔记之句柄Handle

    相信很多同学都听说过句柄,也看过一些对句柄的解释.但是句柄到底是什么?他是怎么工作的,可能真正能回答出来的人不多,今天我们借助resip协议栈对句柄的实现来详细聊聊句柄. 首先作为句柄它最重要的功能就 ...

  8. 句柄(Handle)

    介绍: 句柄,是整个windows编程的基础.一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标识应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备 ...

  9. 关于对handle的理解

    从本人有限的C99.C++11.java8.matlab2012.python3.x 的有限经验来看. handle这个关键字最初是在windows编程的书中提到的,在matlab的GUI的编程中也有 ...

  10. 句柄(HANDLE)的简单理解

    文章目录 什么是句柄 句柄的本质理解 为什么需要句柄 什么是句柄 句柄是一个整数,单独的看它只是数字. 但这个整数是进程句柄表数组的下标,有了这个下标,操作系统就可以找到其索引的数据结构,并能找到数据 ...

最新文章

  1. 4.html 头部随笔
  2. “AI”战疫在行动,一文盘点百度大脑增援疫情防控的AI操作
  3. mysql 不让读的锁_MySQL实战45讲阅读笔记-锁
  4. Pinterest从OpenTSDB切换到他们自己的时间序列数据库
  5. day11 - 15(装饰器、生成器、迭代器、内置函数、推导式)
  6. 扫盲行动之九:Vi编辑器的基本使用方法!
  7. 超全流程-idea对springboot+ssm的部署实现增删改查
  8. MySQL 性能调优之存储引擎
  9. Java面试详解(2020版):500+ 面试题和核心知识点详解
  10. 60-100-040-使用-DataSource-介绍
  11. SQLServer 使用sp_repldone标识所有未分发的事务为已分发
  12. mysql 再查询结果的基础上查询(子查询)
  13. seajs的使用--主要了解模块化
  14. 3dsmax给物体贴图之后,物体不显示贴图的解决办法
  15. 定时任务corn表达式设置
  16. 把握这两点,抢占下一个电商风口|2016最新中国电商App排名研究报告
  17. python卡路里计算器_python习题20190130
  18. 2015.2,对任意正整数n,求xn,要求运算时间复杂度为o(logn).例如x30=x15*x15.
  19. Java中双冒号(::)运算操作符
  20. Qt可视化大屏电子看板系统源码

热门文章

  1. unity3d Runtime Transform Gizmos 插件使用
  2. 助力智能制造,TUV莱茵亮相2018工博会
  3. 手绘地图如何制作为电子地图实现智慧导览系统之切割瓦片图
  4. Flink流计算可视化平台
  5. MySQL数据库自动生成大批量数据
  6. 英特尔530和535哪个好_2020联想小新Air 14英特尔版和锐龙版怎么选,有什么区别...
  7. 2016年首届南航-河海联合程序设计竞赛暨第十一届南航程序设计竞赛 题解
  8. 在春节来临之际使用 javascript + Node.js 实现邮件传输功能给远方的朋友发封邮件拜个早年
  9. java模板方法模式_java设计模式(模板方法模式)
  10. 揭开大矿工测试神秘节点面纱!至联云先河t01248排名第一