什么是句柄

来源:互联网 发布:淘宝笑涵阁如何 编辑:程序博客网 时间:2024/05/16 20:30

句柄并没有什么神奇之处,不管哪种句柄,实际都是一个整数。它标识一种资源,如窗口、位图等等。就象你找一个人,必须知道它的地址一样,如果你要操作一种资源,必须先获得句柄。
    
“取窗口句柄()”并不是只能取出窗口的句柄,所有窗口控件,如编辑框、标签等都可以用本命令取出自己的句柄,如:

     编辑框1.取窗口句柄()
     标签1.取窗口句柄()
控件的句柄同样,不知你明白了没有?我个人理解是任何控件都有它自身的特有属性,句柄也就指它的特有属性(包括共性)。好像人有男女之分,要找男人一定是找有特有性别的人,也就是能区分不是女人的特性的人。

 

“句柄”(handle)
      handle的本意是把柄,把手的意思。是你与操作系统打交道的
东东。举个通俗的例子,比如你考上了大学,入学后,学校(操作系统)会给你一个学生
证号。注意,这个号码是学校指定的,你无法自选。有了这个号码(学生证,假设一证多用)
享受学校提供的服务:如你就可以去图书馆借书,去食堂吃饭,去教室上课等等。但你不能
到食堂里买啤酒,因为学校不允许这种服务。而在计算机中系统提供的服务就是API调用,
你有了HANDLE,就可以理直气壮地向系统提出调用API的服务。
而指针的权力就大多了,有了指针你可以到处去喝酒,打架,学校(操作系统)管不着,所以
句柄和指针的区别在于句柄只能调用系统提供的服务。而句柄虽然是一个能相互区别的号码,
但与我们普通的ID号又有区别,普通的ID号是可以由程序员自己定义的,而句柄不行,它是
对象生成时系统指定的,是为了区别系统中存在的各个对象,这个句柄不是由程序员符给的.