C++ GetGuiResources WIn32 API使用情况

C++ GetGuiResources WIn32 API使用情况,c++,winapi,mfc,win32gui,C++,Winapi,Mfc,Win32gui,我试图使用查找我的程序使用的Gui资源。它将标志作为第二个参数。我很想知道GR\u USEROBJECTS和GR\u gdioobjects之间的区别。我找不到关于它的任何文档。有人能解释一下他们之间的区别吗?我还知道,默认情况下,一个进程一次最多可以打开10k GDI句柄。GR\u GDIOBJECTS返回的值是否算作10k限制的一部分?GR\u USEROBJECTS是User32对象、窗口和菜单 GR_GDIOBJECTS是Gdi32对象,如设备上下文、字体、位图、光标、图标、画笔、笔、区

我试图使用查找我的程序使用的Gui资源。它将标志作为第二个参数。我很想知道
GR\u USEROBJECTS
GR\u gdioobjects
之间的区别。我找不到关于它的任何文档。有人能解释一下他们之间的区别吗?我还知道,默认情况下,一个进程一次最多可以打开10k GDI句柄。
GR\u GDIOBJECTS
返回的值是否算作10k限制的一部分?

GR\u USEROBJECTS是User32对象、窗口和菜单

GR_GDIOBJECTS是Gdi32对象,如设备上下文、字体、位图、光标、图标、画笔、笔、区域、选项板、图元文件、路径

在程序中实际使用GetGuiResources()没有什么意义,这些值在任务管理器中很容易看到。查看+选择列并勾选用户对象和GDI对象。应该有很多关于这些计数器的网页


默认10000句柄配额为每个进程。一个会话中所有进程创建的句柄总数有一个限制,这是一个背景。

谢谢您的回答。。我试图找出我的应用程序中的GDI漏洞,并使用GetGuiResources来监视使用情况。。还有一个相关的问题..图形驱动程序和GDI泄漏有关吗?i、 e.有故障的驱动程序会导致我的应用程序中的GDI泄漏吗?不会,设备驱动程序从来没有出现故障。GDI泄漏是一个纯粹的编程错误。非常常见,除了忘记使用适当的释放函数释放句柄(有不止一个)之外,标准错误是在销毁设备之前忘记恢复设备上下文。永远不要忽略SelectObject()调用的返回值,之后需要另一个SelectObject()调用来恢复DC。最终找到了漏洞。这是由于没有删除从
GetIconInfo()
调用返回的位图句柄造成的。