10

要修改另一个程序的窗口,我需要SysTreeView32使用EnumChildWindowsAPI 调用在其中找到一个特定的窗口。

当我使用 Spy++ 检查窗口时,其中有许多SysTreeView32',但除了一个,它是我正在寻找的一个之外,所有的都是灰色的。

下图是灰色项目的示例:

为什么有些项目是灰色的?

为什么显示的项目是灰色的,Spy++ 使用什么 API 调用来知道它是否应该使项目变灰?

4

1 回答 1

17

这些只是不可见的窗口——即没有设置 WS_VISIBLE 样式位的 HWND。它们通常是工作窗口——仅存在于在后台处理各种消息的窗口——或者在某些情况下是尚未可见的 UI。例如,允许您隐藏或显示工具栏的窗口可能只是通过使其不可见来隐藏它,而不是销毁它并稍后重新创建它。

在您的特定情况下, WorkerW 可能是现在不需要的其他一些 UI 的占位符,而 msctl_statusbar32 看起来像是一个隐藏的状态栏。

于 2011-08-04T05:33:26.640 回答