GDI可以从一个进程泄漏影响其他进程吗?

时间:2015-11-20 09:10:35

标签: c# .net gdi+ gdi resource-leak

我们正在不时导致GDI资源泄漏“Win32Exception没有足够的存储空间来处理此命令”(related question)。

我们的应用程序由Word Addin和C#应用程序组成。 Word插件中的泄漏是否可以从C#应用程序中删除资源?我们已经看到应用程序在一些不相关的Addin问题之后崩溃。

换句话说,GDI资源是按照流程专门分配还是以某种方式共享?

1 个答案:

答案 0 :(得分:2)

确切的数字可能取决于Windows的版本,但通常每个会话的理论限制为65,536。实际上这是较低的(例如Windows 2000中的16,384)。

每个进程限制大约有10,000个句柄,但可以通过注册表设置com.myflavour.app进行全局更改。虽然应用程序不应该更改此设置,因为它是计算机的全局设置。

MSDN - GDI Objects

Old New Thing - Why is the limit of window handles per process 10,000?