2009-01-27 124 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這會導致窗口打開失敗,直到另一個窗口被釋放。

相關問題