句柄
句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。 句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象。
在程序设计中,句柄是一种特殊的智能指针 。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。
句柄与普通指针的区别在于,指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上。这种间接访问对象的模式增强了系统对引用对象的控制。
WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的。相反,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。
句柄是WINDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控件,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。
句柄是一个标识符,是拿来标识对象或者项目的。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。
最后更新:2017-04-03 16:48:54
上一篇:
Linux中关机命令详解
下一篇:
Nginx + PHP + mysql CGI的一个可能的安全漏洞
从洞穴壁画说起,信息可视化图表发展的迷人历史
发布swf-util 0.01
重磅 | 阿里推出多智能体双向协调网络BicNet,玩《星际争霸》堪比人类
PostgreSQL 聚合表达式 FILTER , order , within group 用法
海量存储之十八--一致性和高可用专题
Oracle中的记录(Record)
【云栖大会】Elastic与阿里云达成合作伙伴关系 提供“阿里云Elasticsearch”的新服务
git hub update command memo
MYSQL · 新特性 · MySQL 8.0对Parser所做的改进
用更少的钱看更清晰的视频——详谈阿里云窄带高清