0

我有一个基于 Windows XP GUI 的封闭源代码,可以执行一些测量。

我目前的手动工作流程是:

  1. 通过单击 GUI 上的“运行”按钮开始数据捕获
  2. 按 GUI 上的“停止”按钮停止数据捕获。
  3. 读取屏幕上显示的一些值。
  4. 将会话的数据保存到文件中。

没有库或 API 可以使整个交互自动化,因此我别无选择,只能手动进行:(而且我厌倦了它!

正如您清楚地看到的那样,这种方法不仅耗时而且容易出错,因为它受到我的反应时间的限制,每次运行都会发生变化。

我想知道是否有办法自动化这种交互?如果是,我有什么选择?我更喜欢用 Python 或 Java 实现一些东西。但我也对其他选择持开放态度。

我的想法是实现一个在 Windows XP 机器上运行的服务器进程。然后我可以远程向该服务器进程发送请求,该服务器进程将自动执行我的工作流程。

4

2 回答 2

1

有一个很棒的 Windows GUI 自动化工具,叫做 autoit。http://www.autoitscript.com/site/autoit/

于 2012-04-12T02:20:04.407 回答
0

您询问了有关将 AutoIt 与 Java 链接起来的问题。出于我的目的,我使用 ProcessBuilder 来创建一个 Process,然后获取 Processes InputStream 和 ErrorStream 并确保在单独的线程中处理这些流。我让 AutoIt 使用 InputStream 与我的 Java 程序进行通信。一篇很好的文章(虽然有点过时)是这篇文章:When Runtime.exec() won't。确保进程在后台线程上运行并且两个流在它们自己的线程中读取是关键。如果您在 Swing GUI 中执行此操作,则必须特别注意所有 Swing 调用都在主 Swing 事件线程 EDT 上进行。

于 2012-04-12T22:28:45.137 回答