Windows 如何获取与进程关联的GDI对象

Windows 如何获取与进程关联的GDI对象,windows,command-line,Windows,Command Line,我正在调查我们的一个智能客户端应用程序中的GDI泄漏问题。 我正在寻找一个工具(如任务列表)来获取与进程关联的GDI对象。我可以在taskmanager中看到GDI对象,但我需要在某处定期捕获它。例如,在文本文件中。编写一个程序,使用API函数定期记录一个进程使用的GDI句柄数应该非常简单。完全免费的process Explorer()允许您以图形方式检查这一点以及与运行进程相关的无数其他方面。将GDI对象添加到要显示的列中,即可关闭并运行。列GDI对象可以在选择列对话框的进程内存选项卡中找到

我正在调查我们的一个智能客户端应用程序中的GDI泄漏问题。
我正在寻找一个工具(如任务列表)来获取与进程关联的GDI对象。我可以在taskmanager中看到GDI对象,但我需要在某处定期捕获它。例如,在文本文件中。

编写一个程序,使用API函数定期记录一个进程使用的GDI句柄数应该非常简单。

完全免费的process Explorer()允许您以图形方式检查这一点以及与运行进程相关的无数其他方面。将
GDI对象
添加到要显示的列中,即可关闭并运行。列
GDI对象
可以在
选择列
对话框的
进程内存
选项卡中找到

注:微软收购了他们的工具,我相信马克·鲁西诺维奇现在为微软工作。Sysinternal工具通常不需要任何安装,只需要将它们复制到方便的地方,如果它们还没有安装,则应该放在您的工具箱中。

使用NirSoft提供的免费工具

他们的描述:

GDIView是一个独特的工具,它显示每个进程打开的GDI句柄列表(画笔、笔、字体、位图等)。它显示每种类型的GDI句柄的总数,以及每个句柄的详细信息。 此工具对于需要跟踪软件中GDI资源泄漏的开发人员非常有用

您可以将GDI计数器列表保存为常规、制表符分隔、逗号分隔和表格文本文件,以及水平或垂直HTML文件或XML文件