如题,望赐教。谢谢。

解决方案 »

  1.   

    API是接口,句柄是接口,两者有什么区别?API是一个通用的函数族,他处理所有的对象,而句柄是和某个具体对象相关联的数据结构。只有借助句柄,API才知道处理哪个对象。有些对象有ID。句柄表示特殊的对象,ID也表示某个对象,为什么要两个东西来表示?首先,句柄不能唯一表示对象。一个对象可以有多个句柄。例如:假设我们用CreateProcess创建一个进程,该进程的第一个线程的句柄会返回给调用CreateProcess的进程。同时,在新创建的进程中,该线程也会有一个句柄。这样,这个线程就有两个句柄。我们也可以用DuplicateHandle复制一个句柄,这个句柄和原来句柄是不一样的,但是他们都表示同一个对象。而每个有ID的对象,在系统范围内,ID肯定是唯一的。其次,句柄所能实现的功能ID不能实现。毕竟ID只是一个数字,他不能记录很多信息。而句柄可能在其内部结构中记录了很多信息(如权限、有无信号等)。总之,如果试图解释他到底是什么,学习句柄就会误入歧途。从虚的角度去理解,对于新手是难一点,但是这也许是唯一正确的办法。
      

  2.   

    句柄是windows用来标识被应用程序所建立或使用的唯一整数,windows使用各种各样的句柄表示诸如应用程序实例,窗口,控制,位图,GDI等等.
    一方面,句柄可以看作一个标识符,是那来标识对象或者项目的,从数据类型上看,句柄是一个16位的无符号整数
      

  3.   

    Windows内部对象的指针组成的数组的下标。