【发布时间】:2015-04-05 09:27:15
【问题描述】:
我已尝试使用 Windows 的 8.1 软件开发工具包测试工具上提供的 Inspect.exe 检查此窗口。我似乎无法识别这个巨大的富文本框(如控件)的控制句柄。但是,我可以获得文本框下方编辑框的控制句柄。我希望我可以直接与控件对话并使用诸如WindowScrape 之类的库来获取文本。
我相信外部程序是用 VC++ 创建的。如果有帮助的话。
这是窗户。我正在尝试从中获取文本,该文本以红色框起来。这是一个聊天窗口,消息每 5 到 10 秒出现一次。此框会自动滚动。我想浏览文本并获取最新消息。
还有其他方法可以做到这一点吗?
Tesseract 可能,但我不知道从哪里开始监视相对于窗口的特定位置。这样当我移动窗口时,它仍然可以监视该窗口。
【问题讨论】:
-
并非您在屏幕上看到的所有内容都必须是控件。因此,并非您认为是控件的每个小部件都有本机窗口句柄。 Inspect.exe 做了正确的事:它遍历小部件层次结构,查询UI Automation 提供程序。这也是你应该使用的。
-
May be 'White' 可以帮助你:github.com/TestStack/White,但是如果你抓不住手柄,这是一个大问题。你也可以试试 runorex - 他们擅长识别复杂的控件。
-
另外,如果你只需要自动化而不是坚持使用 c#,也许你可以使用 'sikulli' sikuli.org
标签: c# .net winapi automation ui-automation