要修改其他程序的窗口,我需要使用SysTreeView32
API调用在其中找到特定的EnumChildWindows
。
当我使用Spy ++检查窗口时,其中有一些SysTreeView32
,但除了一个之外都是灰色的,这是我正在寻找的。 p>
以下图片是灰色项目的示例:
为什么显示的项目是灰色的,以及Spy ++使用什么API调用来知道它是否应该使项目变灰?
答案 0 :(得分:17)
这些只是不可见的窗口 - 即没有设置WS_VISIBLE样式位的HWND。它们通常是工作窗口 - 只存在于后台处理各种消息的窗口 - 或者在某些情况下是尚未显示的UI。例如,一个允许您隐藏或显示工具栏的窗口可以通过使其隐藏而不是销毁它并稍后重新创建它来隐藏它。
在您的特定情况下,WorkerW可能是现在不需要的其他UI的占位符,而msctl_statusbar32看起来像是一个隐藏的状态栏。