【问题标题】:Screenscraping and controlling a 3rd party .NET application屏幕抓取和控制第 3 方 .NET 应用程序
【发布时间】:2012-09-14 00:28:43
【问题描述】:

问题:

在正在运行的 3rd 方应用程序中从 .Net UI 控件中获取文本并将输入发送到所述应用程序的最佳方法是什么?由于部署限制,目标平台范围从 XP 到 Win7。我们可以使用的最大 .NET 版本是 3.5。

背景:

我的团队的任务是与我们行业中广泛使用的旧版应用程序集成。这种集成需要从第 3 方应用程序的 UI 读取数据,并在某些情况下按下该应用程序的 UI 上的按钮。

我们得到了第 3 方应用开发者的支持,但他们没有 API 来执行这些功能。

我们之前通过 api 挂钩使用普通的 win32 应用程序成功地做到了这一点,但在 .net 中却没有。

我觉得我应该重申:我们非常了解相关应用程序中可能存在的 UI 状态;如果没有这么深的知识,显然这里有各种各样的陷阱。

我主要是好奇其他人在这里做了什么。有什么建议或指示吗?

【问题讨论】:

    标签: c# reflection hook screen-scraping ui-automation


    【解决方案1】:

    我推荐MS UI Automation

    尝试使用UI Spy 调查您的应用程序。如果您在 UI Spy 中看到足够的信息来完成工作,那么它应该适合您。 API 并不容易上手,但我建议避开构建在它之上的框架,以使事情变得更容易。这些框架中的大多数都存在性能或其他问题。

    如果您需要在应用程序中操作非常复杂的控件(例如来自 Infragistics 的控件),那么您需要保持在 .NET 3.5 的事实可能是个问题。使用 LegacyIAccessible Control Pattern 的 UI 自动化核心最好使用 UI 自动化核心来处理最复杂的东西。

    【讨论】:

      【解决方案2】:

      这是基于网络的吗?如果是这样,请查看 iMacros。

      【讨论】:

      • 不太确定,团队中没有 i。
      • 不,这是本机 Windows 应用程序。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多