c++中 句柄类是什么


c++中 句柄类是什么

文章插图
【c++中 句柄类是什么】VC 中的句柄 HANDLE 其实是一个 void * 类型 。像 C 语言中的 FILE 一样 , 它是个结构体 , FILE * 其实是一个结构体地址类型 。句柄在 Windows 系统中类似于指针 , 它就是个指针类型 , 但是又和指针不同 。比如分配一块可移动的内存 , 你可以得到一个固定的句柄 , 但是这块内存的指针是不固定的 。句柄还有其他很多种 , 都是通过 HANDLE 定义而来的 。在 Windows 编程中 , 句柄代表系统中唯一一个对象 , 比如文件句柄、图标句柄、字体句柄、位图句柄、画刷句柄、设备环境句柄、应用程序模块句柄、进程句柄、窗口句柄等 。由于 Windows 是封闭的 , 微软提供很多现成的函数(Windows API) , 句柄就是访问这类对象的一个 "指针" , 通过句柄才能访问这些对象 。HANDLE 类型在 Windows SDK 头文件定义如下:typedef void *PVOID;typedef PVOID HANDLE; //文件句柄、进程句柄等typedef HANDLE HICON; //图标句柄typedef HANDLE HFONT; //字体句柄typedef HANDLE HBITMAP; //位图句柄typedef HANDLE HBRUSH; //画刷句柄typedef HANDLE HDC; //设备环境句柄typedef HANDLE HMODULE; //模块句柄typedef HANDLE HWND; //窗口句柄还有很多其他的句柄类型 。

    推荐阅读