用户和GDI对象每个对象只支持一个句柄。进程无法继承或复制用户或GDI对象的句柄。
用户对象的处理对所有进程都是公开的。也就是说,任何进程都可以使用用户对象句柄,前提是进程可以访问按用户安全性定义的对象。有关安全性的更多信息,请参阅安全.
处理GDI对象对进程是私有的。也就是说,只有创建GDI对象的进程才能使用对象句柄。
在下图中,应用程序创建一个窗口对象。CreateWindow函数创建窗口对象并返回一个对象句柄。

创建窗口对象后,应用程序可以使用窗口句柄来显示或更改窗口。在窗体对象被破坏之前,句柄保持有效。
在下一个插图中,应用程序会破坏窗口对象。DestroyWindow函数从内存中删除窗口对象,这会使窗口句柄无效。

下表列出了Windows用户对象和每个对象的创建者和析构函数。创建者函数可以创建对象和对象句柄,或者简单地返回现有的对象句柄。析构函数从内存中删除对象,这会使对象句柄无效。
请注意,窗口台和桌面对象由系统创建和维护;应用程序无法删除这些对象。
用户对象
目的 | 创作者功能 | 析构函数 |
加速器表 | CreateAcceleratorTable | DestroyAcceleratorTable |
光标 | CreateCursor, LoadCursor, GetCursor, SetCursor | DestroyCursor |
DDE对话 | DdeConnect, DdeConnectList, DdeQueryNextServer, DdeReconnect | DdeDisconnect, DdeDisconnectList |
桌面 | GetThreadDesktop | |
钩 | SetWindowsHook, SetWindowsHookEx | UnhookWindowsHook, UnhookWindowsHookEx |
菜单 | CreateMenu, CreatePopupMenu, GetMenu, GetSubMenu, GetSystemMenu, LoadMenu, LoadMenuIndirect | DestroyMenu |
窗口 | CreateWindow,CreateWindowEx,CreateDialogParam,CreateDialogIndirectParam,CreateMDIWindow,FindWindow,GetWindow,GetClipboardOwner,GetDesktopWindow,GetDlgItem,GetForegroundWindow,GetLastActivePopup },GetTopWindow,WindowFromDC,WindowFromPoint等人 | DestroyWindow |
窗口位置 | BeginDeferWindowPos | EndDeferWindowPos |
窗台 | GetProcessWindowStation | |
下表列出了Windows GDI对象和每个对象的创建者和析构函数。创建者函数可以创建对象和对象句柄,或者简单地返回现有的对象句柄。析构函数从内存中删除对象,这会使对象句柄无效。
GDI对象
目的 | 创作者功能 | 析构函数 |
位图 | CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection, CreateDiscardableBitmap | DeleteObject |
刷 | CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush | DeleteObject |
字形 | CreateFont, CreateFontIndirect | DeleteObject |
调色板 | CreatePalette | DeleteObject |
钢笔 | CreatePen, CreatePenIndirect | DeleteObject |
延长笔 | ExtCreatePen | DeleteObject |
地区 | CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, ExtCreateRegion, PathToRegion | DeleteObject |
设备上下文(DC) | CreateDC, GetDC | DeleteDC, ReleaseDC |
内存直流 | CreateCompatibleDC | DeleteDC |
图元文件 | CloseMetaFile, CopyMetaFile, GetMetaFile, SetMetaFileBitsEx | DeleteMetaFile |
图元文件DC | CreateMetafile | CloseMetaFile |
增强图元文件 | CloseEnhMetaFile, CopyEnhMetaFile, GetEnhMetaFile, SetEnhMetaFileBits | DeleteEnhMetaFile |
增强型图元文件DC | CreateEnhMetaFile | CloseEnhMetaFile |