我有一个非常强大的开发机器和三台显示器,所以经过一些强烈的编码/问题修复后,我倾向于有一大堆程序运行起来。 其中一些程序是标签式的; 比如Visual Studio,FireFox,Notepad ++等等。 如果我不努力保持未使用的选项卡closures,似乎过了一段时间,Windows拒绝打开更多,错误,窗口。 我可以通过closures现有的打开另一个,但是除非我这样做,否则就拒绝打开。
任何人看到这个? 我认为这对于多less个Windows可以同时处理是一个很难的限制。
是的,如果我记得正确的话,整个系统的硬件限制是大约32700个窗口句柄,或者每个进程有10,000个窗口句柄。 应该注意的是,不仅窗口消耗一个窗口句柄,而且每个窗口上的每个控件(每个按钮,面板,组合框等等)都会占用一个窗口句柄。
我已经看到单个对话框(虽然方式太重)消耗超过2000个窗口句柄,但通常他们使用更少。
通过启用任务管理器中的“USER对象”列,您可以了解进程占用的窗口句柄数量,这包括窗口句柄。
有关背景信息,另请参阅:
Windows可能会被赋予一大堆内存,但是这不会改变可用系统资源(如句柄,定时器等)的数量。 这是导致大部分问题的原因。
虽然不涉及编程,但是我们也可以像程序员一样运行, 因为我在别的地方也回答了这个问题
我知道一个事实,在像mIRC这样的程序中,有一小部分用户遇到了这个Microsoft知识库文章中描述的问题,导致Windows无法打开,直到另一个人被释放。