句柄(Handle)是什么?句柄(Handle)是什么?句柄(Handle)是什么?


pf就是句柄


句柄是一个用来标识对象或者项目的标识符,可以用来描述窗体、文件等,还有注意句柄(Handle)不能是常量


从数据类型上来看它只是一个32位(或者64位)的无符号整数


Window之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。

简而言之,数据的地址需要变动,变动以后就需要有人来记录、管理变动,因此系统用句柄来记载数据地址的变更。在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。

句柄与普通地址的区别在于,指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,该标识可以被系统重新定位到一个新的内存地址上

这种间接访问对象的模式增强了系统对引用对象的控制。

在20世纪80年代的操纵系统(如Mac OS和Windows)的内存管理中句柄被广泛应用,Unix系统的文件描述符基本上也属于句柄。和其他桌面环境一样,Windows API大量使用句柄来标识系统中的对象,并建立操作系统与用户空间之间的通信渠道。

例如桌面上的一个窗体由一个HWND类型的句柄来标识。

目前许多操作系统仍然把指向私有对象的指针以及进程传递给客户端的内部数组下标称为句柄。

句柄项目包括:

  1. 模块
  2. 任务
  3. 实例
  4. 文件
  5. 内存块
  6. 菜单
  7. 控件
  8. 字体
  9. 资源:图标、光标、字符串等
  10. GDI对象:位图、画刷、元文件、调色板、画笔、区域
  11. 设备描述表

句柄是Windows用来标识被应用程序所建立或使用的对象的唯一整数,Windows使用各种各样的句柄标识应用程序实例、窗口、控件、位图、GDi对象等。

Windows句柄有点像C语言中的文件句柄。


从上面的定义我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的。从数据类型上来看它只是一个32位(或者64位)的无符号整数

应用程序几乎总是通过调用调用一个Windows函数来获得一个句柄,之后其他的Windows函数就可以使用该句柄,来引用相应的对象。在Windows编程中会用到大量的句柄,比如实例句柄、位图句柄、设备描述句柄、图标句柄等。


句柄(handle)是什么?相关推荐

  1. 什么叫句柄(Handle)?

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

  2. 句柄Handle的含义及使用

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

  3. resip学习笔记之句柄Handle

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

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

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

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

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

  6. 句柄(Handle)

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

  7. HANDLE:句柄的概念

    HANDLE:句柄,是Windows用来表示对象的(不是C++的对象),HWND是其中一种,HWND是HANDLE,但HANDLE不只是HWND,HANDLE是一个通用句柄表示,HWND是一个专用表示 ...

  8. python获取当前窗口句柄_人生苦短,我学python之python+selenium 多窗口、句柄(handle)...

    转载自 http://www.cnblogs.com/yoyoketang/p/6128611.html 前言 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口 ...

  9. windows下的Handle句柄和Linux下的Fd文件标示符

    在操作系统层面上,文件操作也有类似于FILE的一个概念,在Linux里,这叫做文件描述符(File Descriptor),而在Windows里,叫做句柄(Handle)(以下在没有歧义的时候统称为句 ...

  10. 1.2句柄及 WinMain函数

    *********************************************** *   本文由小鸟飞飞整理发表 <samboy@sohu.com>   * *   首发网站 ...

最新文章

  1. 陌陌股价过山车背后隐藏了什么?
  2. 卷积神经网络参数计算及卷积层输出尺寸计算
  3. 解决chrome和firefox flash不透明的方法
  4. R-CNN detection 运行问题及办法
  5. ubuntu16.04安装gradle
  6. 解决sklearn.metrics指标报错ValueError: Target is multiclass but average=‘binary‘. Please choose anothe...
  7. 【蓝桥杯嵌入式】【STM32】13_PWM输入捕获模式
  8. 第一次知识补充及用户登录(三次机会重试)作业
  9. C语言编写贪吃蛇-链表的使用
  10. tp6的运行流程+一个完整的tp6请求的流程:
  11. Springboot启动流程详解
  12. get请求报404 NOT FOUND问题的原因及解决。
  13. CRC16CCITT算法CcittKermit
  14. python3.5安装tensorflow_win10下python3.5.2和tensorflow安装环境搭建教程
  15. Android二维码多码识别,相册选择二维码,自定义扫码界面
  16. 区块链技术相关知识笔记
  17. 迎风面投影指数迎风面密度计算工具及计算实例经验分享
  18. jekyll编写济南少儿国画博客
  19. 车载行车记录仪EMC浪涌防护方案图
  20. MariaDB数据库的备份和还原

热门文章

  1. oracle 12c rman备份与恢复,12C RMAN备份恢复
  2. 猿人学第二题,手撕OB混淆给你看(Step1-开篇)
  3. linux操作系统实用教程课后答案,Linux操作系统案例教程课后习题答案
  4. Horizon client 连接桌面后显示:USB已禁用/USB重定向功能已禁用
  5. SLIC超像素分割并保存分割得到的超像素块,python代码
  6. 基于DWM1000模块开发UWB系统进行室内定位
  7. 语音处理:Python实现音频文件声道分离批量处理
  8. Python——Scipy库
  9. P2P中DHT网络介绍
  10. 药库管理系统登录界面设计