2009-01-27 126 views
2

我有一个非常健壮的开发机器和三台显示器,所以经过一些强化编码/问题修复后,我倾向于有一大堆程序启动并运行。其中一些程序是标签式的;像Visual Studio,FireFox,Notepad ++等。如果我不努力保持未使用的选项卡关闭,似乎过了一段时间,Windows就拒绝打开更多的错误窗口。我可以通过关闭现有的打开另一个,但除非我这样做,否则它只会拒绝打开。是否可以打开的窗口数量有限制?

任何人看到这?我认为对于有多少Windows可以同时解决这个问题,这是一个硬限制。

+0

这似乎并不被编程相关。 – 2009-01-27 16:08:48

+0

同意科迪。 – 2009-01-27 16:10:21

回答

3

是的,如果我记得正确的话,硬限制是整个系统大约32,700个窗口句柄,或者每个进程10,000个。应该注意的是,不仅窗口消耗一个窗口句柄,而且每个窗口上的每个控件(每个按钮,面板,组合框等)都会占用一个窗口句柄。

我见过单个对话框(虽然方式太重了),消耗了超过2000个窗口句柄,但通常它们使用得少得多。

通过启用任务管理器中的“USER对象”列,您可以了解进程占用的窗口句柄的数量,其中包括窗口句柄。

有关背景信息,另见:

1

Windows可能会被赋予一卡车内存,但不会改变可用系统资源(如句柄,定时器等)的数量。这就是你所看到的大多数问题的原因。

0

虽然不是编程相关的这是我们作为程序员可以到as i've answered this elsewhere too

我知道的一个事实是,在像mIRC的程序还有谁所描述的问题,运行在用户的小,但不是很小的比例运行here in this microsoft KB item这会导致窗口打开失败,直到另一个窗口被释放。

相关问题