关于句柄

在Windows编程中我们时刻接触到一个称为句柄(HANDLE)的东西。可以这样去理解句柄,Windows程序中产生的任何资源(要占用某一块或大或小的内存),如图标,光标,窗口,应用程序的实例(已加载到内存运行中的程序)。操作系统每产生一个这样的资源时,都要将它们放入相应的内存,并为这些内存指定一个唯一的标识号,这个标识号即该资源的句柄。操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源的。按资源的类型,又可将句柄细分成图标句柄(HICON),光标句柄(HCURSOR),窗口句柄(HWND),应用程序实例句柄(HINSTANCE),等等各种类型的句柄。操作系统给每一个窗口指定的一个唯一的标识号即窗口句柄。




Usually, the main information of a handle is an integer index into an internal table. But this is not always true. GDI handles have

extra information like object type and a re-use count. Some handles are actually pointers.


There are three major groups of handles:

1) kernel handles, exposed by KERNEL32.DLL. Files, thread, process, ..

2) user handles, exposed by USER32.DLL. Icons, menus, windows, cursors, ...

3) GDI handles, exposed by GDI32.DLL. DC, font, region, DDB, DIB section, pen, brush.

原文地址:https://www.cnblogs.com/MuyouSome/p/2839369.html