句柄是什么?(windows编程句柄)

2023-12-27 26阅读

句柄是什么?

句柄(handle),有多种意义,其中第一种是指程序设计,第二种是指Windows编程。现在大部分都是指程序设计/程序开发这类。第一种解释:句柄是一种特殊的智能指针 。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。

句柄是什么?(windows编程句柄)(图片来源网络,侵删)

第二种解释:整个Windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。

应用程序能够通过句柄访问相应的对象的信息,但是句柄不是指针,程序不能利用句柄来直接阅读文件中的信息。

如果句柄不在I/O文件中,它是毫无用处的。 句柄是Windows用来标志应用程序中建立的或是使用的唯一整数,Windows大量使用了句柄来标识对象。

句柄是什么?(windows编程句柄)(图片来源网络,侵删)

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

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

windows句柄有哪些?

实际上《windows核心编程》一书里有,比如窗口(包括窗体,按钮,文本框,其他各种控件…),进程,线程,文件(包括硬盘上的文件,键盘设备驱动,鼠标光标图像,注册表的键值等)。 其实广义上分只有线程和文件两种句柄,进程可以理解为一个程序的主线程,窗口则是用户界面线程。

句柄是什么?(windows编程句柄)(图片来源网络,侵删)

CPU界面里的句柄数是什么意思?

句柄是一个标识符,是拿来标识对象或者项目的。

应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。

句柄和指针的区别是什么?

文件描述符:在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。

每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。

文件指针:C语言中使用文件指针做为I/O的句柄。文件指针指向进程用户区中的一个被称为FILE结构的数据结构。FILE结构包括一个缓冲区和一个文件描述符。而文件描述符是文件描述符表的一个索引,因此从某种意义上说文件指针就是句柄的句柄(在Windows系统上,文件描述符被称作文件句柄)。

到此,以上就是小编对于windows程序句柄的问题就介绍到这了,希望这4点解答对大家有用。

文章版权声明:除非注明,否则均为游侠云资讯原创文章,转载或复制请以超链接形式并注明出处。

目录[+]