处理GUI窗口更改

时间:2014-04-24 06:34:49

标签: user-interface process autoit pid

我正在使用AutoIt为安装向导执行自动化脚本。我试图以某种方式处理窗口更改。

有人可以解释这些GUI是如何工作的吗?

当我点击Next按钮时,它看起来就像GUI中的组件正在改变。这是个案吗?或者是创建了一个新窗口并将其破坏了?

我注意到所有窗口的进程ID都是相同的。

我确信有一些方法可以知道GUI处于哪种“状态”,或者哪一步?

顺便说一下。所有窗口都有相同的标题。

由于 /安德斯

1 个答案:

答案 0 :(得分:0)

这取决于您正在自动化的程序。

最简单的方法是查看各阶段之间GUI的变化,如果有标签为该步骤提供指示,可能是候选者,或者是文本更改的按钮(例如,如果按钮显示&# 34;完成"然后你知道你的结尾了。)

大多数安装程序都有子窗口,用于对每个阶段的控件进行分组。这些通常作为对话框资源实现(在使用reshacker之类的东西时可以看到)。因此,尽管窗口保持不变,但正在创建/销毁面板。这是一个非常巧妙的方法,因为你不需要编写代码来创建/销毁很多控件。资源创建的对话框没有像Windows有时那样的好类名,所以这可能不是检查状态的可靠方法。