windows - 为什么有些项目在 Spy++ 的 Windows View 中显示为灰色?

标签 windows winapi spy++ spy

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

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

下图是灰色项的例子:

Why are some items grey?

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

最佳答案

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

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

关于windows - 为什么有些项目在 Spy++ 的 Windows View 中显示为灰色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6936283/

相关文章:

c# - 从任务栏隐藏应用程序

windows - Spy++ 和窗口在失去焦点时关闭

windows - Inno Setup - 卸载程序时从 PATH 环境变量中删除路径

python - 如何从ray中的对象存储中清除对象?

c++ - 为什么 win32 API 函数没有重载而是使用 Ex 作为后缀?

c++ - 强制资源从非 mfc 应用程序中的 dll 加载的 WTL 方式? (我们使用的是 WTL/ATL,而不是直接的 win32)

wpf - WPF 有类似 Spy++ 的实用程序吗?

windows - 如何在屏幕上打印整个文件?

c++ - 当 SLIST_ENTRY 不是项目列表的第一个成员时使用单链表

java - 使用 JNA (JAVA) 的 GetAsyncKeyState 和 VirtualKeys/特殊字符