【发布时间】:2012-01-11 08:43:47
【问题描述】:
我使用 UI Spy 和 Spy++ 来查看某些窗口的窗口文本,但没有一个提供结果。正如人们所说,一些窗口是由一些组件构建和执行的,比如说它们嵌入在这些组件中。除了这两个查看窗口句柄、文本的工具,你能介绍一下其他工具或方法来获取窗口文本或句柄而不使用钩子吗?
编辑:我还使用 Spy Object 来检索 windows 对象信息并从祖先中搜索,直到我能遇到正确的对象,但是这个针对我正在观看的特定窗口的工具无法完成这项工作,因为它还报告了不正确的父位置祖先层次结构,我尝试了 MAAS 和 UI-Automation 没有运气,谢谢你的帮助。
Edit3:我不喜欢他们windows的内部设计理念(我的意思是只有他们-设计师-知道如何解开结)
【问题讨论】:
-
这是两个工具。并非所有窗口都有 文本(标题),至少不是可以使用
WM_GETTEXTmessage 检索的文本。你在看什么类型的窗户? -
谢谢,我也尝试使用嵌入窗口句柄的正确(确定)intptr 发送该消息,但返回字符串为空。然而,间谍对象提供了正确的字符串。
-
你能说出这个应用程序是用什么 UI 框架编写的吗? (Java、WPF 等)
-
我不知道什么是间谍对象,但正如我所说,并非所有窗口都会返回对
WM_GETTEXT消息的响应。据我所知,如果您的窗口没有返回响应,那么它也不会在 Spy++ 中显示字符串。请注意,如果这些是您正在检查的 WPF 控件,它们不是标准 Win32 控件,因此不能保证它们符合与标准 Win32 控件相同的所有规范。 -
谢谢你,代理和科迪,我编辑我的 OP 来清除。
标签: c# windows winapi hook spy++