2011-08-04 19 views
7

要修改另一個程序的窗口,我需要使用EnumChildWindows API調用在其中找到一個特定的SysTreeView32爲什麼Spy ++的Windows視圖中某些項目變灰了?

當我使用Spy ++檢查窗口時,其中有一些SysTreeView32的內容,但除了一個是我正在查找的內容外,它們都是灰色的。

下面的圖片是灰色物品的例子:

Why are some items grey?

爲什麼是顯示的項目灰不間諜++使用知道API調用它是否應該變成灰色的項目或沒有?

回答

15

這些只是不可見的窗口 - 即沒有設置WS_VISIBLE樣式位的HWND。它們通常是工作窗口 - 只存在於處理背景中各種消息的窗口 - 或者在某些情況下,UI尚未顯示。例如,可以隱藏或顯示工具欄的窗口可以隱藏它,方法是將其隱藏起來,而不是將其摧毀並稍後重新創建。

在您的具體情況下,WorkerW可能是一些其他現在不需要的其他UI的佔位符,而msctl_statusbar32看起來像是一個隱藏狀態欄。

+8

另請注意,即使窗口具有WS_VISIBLE = true set,當其父窗口中的一個具有WS_VISIBLE = false時,窗口也可能呈灰色。 – levanovd

相關問題