【问题标题】:Reading text with UI Automation使用 UI 自动化阅读文本
【发布时间】:2021-11-10 00:08:43
【问题描述】:

我正在尝试制作一个简单的程序来监控应用程序的聊天窗口并在出现特定字符串时播放声音。首先,我将如何寻找合适的元素?

使用“Inspect.exe”,我可以看到聊天框唯一的独特之处是“如何找到”下的这一行:hwnd=0x00000000003B1A1A 32bit class="PokerStarsChatClass" style=0x54000000 ex=0x0。

所以我假设我需要以某种方式搜索这个 PokerStarsChatClass。我寻找的所有教程都无法真正帮助我。有人可以帮忙吗?

编辑:添加屏幕截图:(应用名称为“pokerstars”)
(来源:imagefra.me

【问题讨论】:

  • 你看过这篇文章吗?听起来很有希望:codeproject.com/Articles/289028/…
  • 同样(通常)唯一的是树窗格中元素的树(如果您没有树窗格,那是因为您的 inspect.exe 太旧了)。如果您有真实的应用示例,我们可以进一步调查,因为并非所有应用都是 UI 可自动化的
  • 添加了“inspect.exe”结果的截图。

标签: c# ui-automation microsoft-ui-automation


【解决方案1】:

UiPath Automation SDK 提供了一些从任意窗口抓取文本的好工具,但它不是免费的。它提供了至少三种不同的抓取窗口文本的方法。它们可能都不适用于您感兴趣的特定应用程序/窗口。

在不使用自动化 SDK 的情况下,如果聊天窗口会响应 WM_GETTEXT 消息,您可能能够相对轻松地获取文本(除了测试之外,真的没有办法知道)。首先,您需要通过平台调用使用GetWindowGetClassName 的组合来查找聊天窗口的句柄。之后就可以直接发送 WM_GETTEXT 消息了。

【讨论】:

  • 感谢您的建议。我认为我什至尝试这个有点愚蠢,因为我是一个新手程序员,并且不知道如何实现你的建议。我可能会付钱给 odesk 的人来为我做。
猜你喜欢
  • 1970-01-01
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 2015-11-11
  • 1970-01-01
  • 2014-09-10
  • 1970-01-01
相关资源
最近更新 更多