通过句柄获取窗口文本

时间:2012-01-10 03:47:24

标签: c# windows winapi hook spy++

我使用UI Spy和Spy ++来查看某些窗口的Windows文本,但没有一个提供结果。正如人们所说,有些窗口是由一些组件构建和执行的,比如它们嵌入在这些组件中。除了查看窗口句柄文本的两个工具外,您能否介绍其他工具或方法来获取窗口文本或句柄而不使用钩子?

编辑:我也使用间谍对象来检索窗口对象信息并从祖先搜索直到我能够遇到正确的对象但是这个工具到我正在观看的特定窗口是无法完成工作的,因为它还报告了不正确的父母位置祖先的层次结构,我没有运气就试用了MAAS和UI-Automation,感谢您的帮助。

Edit3:我不喜欢他们的内部设计窗口(我的意思是只有他们 - 设计师 - 知道如何解开结)

2 个答案:

答案 0 :(得分:0)

通常使用辅助功能API,用于盲人用户的文本到语音屏幕阅读器。在您的问题中,您提到了MAAS,您的意思是MSAA(Microsoft Active Accessibility)吗?如果没有,那就是我下一步的目标。

答案 1 :(得分:0)

http://white.codeplex.com/是一个很好的框架,可以做这些事情。

  

White是一个基于Win32,WinForms,WPF,Silverlight和SWT(Java)平台自动化富客户端应用程序的框架。它基于.NET,不需要使用任何专有脚本语言。使用White的测试/自动化程序可以使用您已经使用的任何.NET语言,IDE和工具编写。 White提供了一致的面向对象的API,隐藏了Microsoft的UIAutomation库(White所基于的)和Windows消息的复杂性。只发布了稳定版本的White,因此所有版本都可以投入生产。