草庐IT

GetGuiResources

全部标签

c++ - 使用 GetGuiResources

在WinMain的开始和最后一次返回之前使用GetGuiResources(GetCurrentProcess(),GR_GDIOBJECTS)是个好主意吗?特别是,我忘记释放的对象?我目前还想知道为什么我的程序中的第一个调用在还没有窗口时返回4。 最佳答案 在大多数情况下,使用processexplorer就足够了.保持窗口打开,显示进程的GDI句柄(右键单击列,选择“选择列”,然后选中“进程内存”选项卡中的“GDI对象”复选框)。在运行您的应用程序时,请注意GDI句柄的数量-如果它增加并且再也回不去,您就知道存在泄漏。

c++ - 如何纠正 GDI 资源泄漏?

我发现在FillRgn()WindowsGDIAPI函数之后,这个函数中使用的GDI对象以某种方式“卡在”内部系统映射中的某处,并且无法正确删除:在对象上调用DeleteObject()成功返回,但进程的GDI对象数不会减少。这是代码:voidgditest(){HBRUSHh=CreateSolidBrush(RGB(255,237,5));HRGNrgn=CreateRectRgn(0,100,100,0);FillRgn(g_DC,rgn,h);intbefore=GetGuiResources(GetCurrentProcess(),GR_GDIOBJECTS);SelectO