什么是句柄?

Posted mktest123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是句柄?相关的知识,希望对你有一定的参考价值。

我们可以这样理解Windows句柄:

      数值上,是一个32位无符号整型值(32位系统下);逻辑上,相当于指针的指针;形象理解上,是Windows中各个对象的一个唯一的、固定不变的ID;作用上,Windows使用句柄来标识诸如窗口、位图、画笔等对象,并通过句柄找到这些对象。

下面,关于句柄,再交代一些关键性细节:

1.所谓“唯一”、“不变”是指在程序的一次运行中。如果本次运行完,关闭程序,再次启动程序运行,那么这次运行中,同一对象的句柄的值和上次运行时比较,一般是不一样的。

  其实这理解起来也很自然,所谓“一把归一把,这把是这把,那把是那把,两者不相干”(“把”是形象的说法,就像打牌一样,这里指程序的一次运行)。

2.句柄是对象生成时系统指定的,属性是只读的,程序员不能修改句柄。

3.不同的系统中,句柄的大小(字节数)是不同的,可以使用sizeof()来计算句柄的大小。

4.通过句柄,程序员只能调用系统提供的服务(即API调用),不能像使用指针那样,做其它的事。

以上是关于什么是句柄?的主要内容,如果未能解决你的问题,请参考以下文章

什么是句柄?

RTOS中的任务句柄到底是什么意思?

句柄2

MFC中的句柄到底是个什么???

Win32获取屏幕句柄的函数是啥?

什么是窗口句柄