句柄(handle)是什么?
句柄(Handle)是什么?句柄(Handle)是什么?句柄(Handle)是什么?
pf就是句柄
句柄是一个用来标识对象或者项目的标识符
,可以用来描述窗体、文件等,还有注意句柄(Handle)不能是常量
!
从数据类型上来看它只是一个32位(或者64位)的无符号整数
。
Window之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。
简而言之,数据的地址需要变动,变动以后就需要有人来记录、管理变动,因此系统用句柄来记载数据地址的变更
。在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。
句柄与普通地址的区别在于,指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,该标识可以被系统重新定位到一个新的内存地址上
。
这种间接访问对象
的模式增强了系统对引用对象
的控制。
在20世纪80年代的操纵系统(如Mac OS和Windows)的内存管理中句柄被广泛应用,Unix系统的文件描述符基本上也属于句柄。和其他桌面环境一样,Windows API大量使用句柄来标识系统中的对象,并建立操作系统与用户空间之间的通信渠道。
例如桌面上的一个窗体由一个HWND类型的句柄来标识。
目前许多操作系统仍然把指向私有对象的指针
以及进程传递给客户端的内部数组下标
称为句柄。
句柄项目包括:
- 模块
- 任务
- 实例
- 文件
- 内存块
- 菜单
- 控件
- 字体
- 资源:图标、光标、字符串等
- GDI对象:位图、画刷、元文件、调色板、画笔、区域
- 设备描述表
句柄是Windows用来标识被应用程序所建立或使用的对象的唯一整数
,Windows使用各种各样的句柄标识应用程序实例、窗口、控件、位图、GDi对象等。
Windows句柄有点像C语言中的文件句柄。
从上面的定义我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的。从数据类型上来看它只是一个32位(或者64位)的无符号整数
。
应用程序几乎总是通过调用调用一个Windows函数来获得一个句柄,之后其他的Windows函数就可以使用该句柄,来引用相应的对象。在Windows编程中会用到大量的句柄,比如实例句柄、位图句柄、设备描述句柄、图标句柄等。
句柄(handle)是什么?相关推荐
- 什么叫句柄(Handle)?
句柄 是windows编程的一个关键性的概念,编写windows应用程序总是要和各种句柄打交首,所谓句柄,就是一个4字节长的唯一的数,用以标识许多不同的对象类型,由于windwos是一个多任务操作系统 ...
- 句柄Handle的含义及使用
本文转载于:https://blog.csdn.net/swordarcher/article/details/81744930 1.句柄 : 头文件:winnt.h(也可以使用windows.h头文 ...
- resip学习笔记之句柄Handle
相信很多同学都听说过句柄,也看过一些对句柄的解释.但是句柄到底是什么?他是怎么工作的,可能真正能回答出来的人不多,今天我们借助resip协议栈对句柄的实现来详细聊聊句柄. 首先作为句柄它最重要的功能就 ...
- c语言windows编程句柄,HANDLE句柄(windows编程)
首先什么是句柄?(理解了句柄,也就知道了句柄和指针的区别了) 所谓句柄实际上是一个数据,是一个Long (整长型)的数据. 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WIND ...
- 计算机中的“句柄”(handles)是什么意思?(就是内存地址)Intel Realsense中的frame_handle是什么?(什么是上下文context以及句柄handle?)
可以将frame_handle视为封装一个实际帧对象的智能指针. 这种抽象非常有用,例如对于同一帧的并发处理. 参考文章1:计算机中的"句柄"是什么意思? 参考文章2:What's ...
- 句柄(Handle)
介绍: 句柄,是整个windows编程的基础.一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标识应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备 ...
- HANDLE:句柄的概念
HANDLE:句柄,是Windows用来表示对象的(不是C++的对象),HWND是其中一种,HWND是HANDLE,但HANDLE不只是HWND,HANDLE是一个通用句柄表示,HWND是一个专用表示 ...
- python获取当前窗口句柄_人生苦短,我学python之python+selenium 多窗口、句柄(handle)...
转载自 http://www.cnblogs.com/yoyoketang/p/6128611.html 前言 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口 ...
- windows下的Handle句柄和Linux下的Fd文件标示符
在操作系统层面上,文件操作也有类似于FILE的一个概念,在Linux里,这叫做文件描述符(File Descriptor),而在Windows里,叫做句柄(Handle)(以下在没有歧义的时候统称为句 ...
- 1.2句柄及 WinMain函数
*********************************************** * 本文由小鸟飞飞整理发表 <samboy@sohu.com> * * 首发网站 ...
最新文章
- 陌陌股价过山车背后隐藏了什么?
- 卷积神经网络参数计算及卷积层输出尺寸计算
- 解决chrome和firefox flash不透明的方法
- R-CNN detection 运行问题及办法
- ubuntu16.04安装gradle
- 解决sklearn.metrics指标报错ValueError: Target is multiclass but average=‘binary‘. Please choose anothe...
- 【蓝桥杯嵌入式】【STM32】13_PWM输入捕获模式
- 第一次知识补充及用户登录(三次机会重试)作业
- C语言编写贪吃蛇-链表的使用
- tp6的运行流程+一个完整的tp6请求的流程:
- Springboot启动流程详解
- get请求报404 NOT FOUND问题的原因及解决。
- CRC16CCITT算法CcittKermit
- python3.5安装tensorflow_win10下python3.5.2和tensorflow安装环境搭建教程
- Android二维码多码识别,相册选择二维码,自定义扫码界面
- 区块链技术相关知识笔记
- 迎风面投影指数迎风面密度计算工具及计算实例经验分享
- jekyll编写济南少儿国画博客
- 车载行车记录仪EMC浪涌防护方案图
- MariaDB数据库的备份和还原