我有一个建模程序,我正在自动化一些使用autoit的过程。部分内容涉及更改某些显示选项。我需要一些方法来确定程序何时完成显示更新并准备好进行新输入(点击并工作)。例如,当程序运行计算时,我可以使用WinActive使用do until循环,因为在计算时它被认为是非活动的。但是,在完成计算之后,程序显示结果的时间会有不同的时间,在此期间程序被认为是活动的但不能成功接受新的输入。我目前正在使用sleep()命令,但是想通过实用检查来减少脂肪,而不是浪费时间等待一组,通常是不必要的时间。
答案 0 :(得分:1)
找到了办法。虽然程序处于活动状态但仍在考虑或更新显示,但尚未准备好进行新输入,鼠标具有不同的符号。通过使用Autoit的MouseGetCurser()函数来查看程序是否准备就绪。对于我的程序,当程序仍在更新显示时,光标值为15,这意味着我可以重复极化光标值,直到程序准备好进行下一次输入。
WinWaitClose("Map Layers")
Do
sleep(200)
Until MouseGetCursor() <> 15
答案 1 :(得分:0)