devineresse 发表于 2014-8-11 12:32:54

如何判断程序已经响应完毕?

我打开一个程序,或者大量数据中的检索过程中,鼠标呈现忙碌状态,这个时候程序界面是不能点击的。我如何通过au3判断可以进行下一步操作了?
         
         我现在用的是Sleep(8000),但是这个太浪费时间了。请问有没有办法解决,一旦响应完毕,就可以进行下一步?

haijie1223 发表于 2014-8-11 12:46:30

runwait

devineresse 发表于 2014-8-11 12:55:35

回复 2# haijie1223


    这个不行啊,是程序响应完毕,后要继续使用这个程序,runwait看解释:运行外部程序并暂停脚本执行,直到程序结束.

jdd3 发表于 2014-8-11 13:52:11

可以试试判断程序的CPU占用率,或者是否可以成功改变某一控件状态

haijie1223 发表于 2014-8-11 14:27:26

回复 3# devineresse

能不能把具体代码发上来~

user3000 发表于 2014-8-11 18:48:15

回复 1# devineresse


    试试 MouseGetCursor() 获取鼠标的状态?

devineresse 发表于 2014-8-11 21:50:28

#include <Excel.au3>
#include <Array.au3>
Local $sFilePath1 = @ScriptDir & "\Plan.xlsx"

For $i=2 To 8
$i=2
Local $ExcelRow=$i                         ;开始录入的excel的行标。
Local $oExcel1 = _Excel_Open(Default,Default,Default,true,Default)
Local $oExcel = _Excel_BookOpen($oExcel1,$sFilePath1)
$cominfo=_Excel_RangeRead($oExcel,Default,"C"&$i&":"&"F"&$i)
_ArrayDisplay($cominfo, "Vertical")

If $cominfo="r" Then
Local $date=$cominfo
$code="211301"& $cominfo
MsgBox(64,"",$cominfo)
Do
WinActivate("月缴费")
Sleep(200)
ControlClick("","","Button15","left")
Sleep(100)
ControlSetText("","","PBEDIT603",$date)
ControlSetText("","","PBEDIT601",$code)
Sleep(100)
Send("{tab 3}{enter}")
WinWaitActive("提示","单位",3)
Send("Y")
Sleep(8000)            
MouseClick("left",707,264,1)

devineresse 发表于 2014-8-11 21:53:48

问题处在倒数第二行,程序响应完了,最后用mouseclick。   我尝试用mousegetcusor,发现不好使
for $t =1 to 4
if mousegetcusor()<>2 then
sleep(2000)
$t=$t+1
endif
Next

nqawen 发表于 2014-8-16 09:29:33

还是没弄懂啊,

haijie1223 发表于 2014-8-16 09:56:29

楼主的代码你代码这么金贵吗~发出一半来谁能测试代码

austere 发表于 2014-8-16 10:50:08

回复 10# haijie1223


    人家不舍得公开~   但是又想让别人给解决问题....

boyhong 发表于 2014-8-16 11:00:39

问题处在倒数第二行,程序响应完了,最后用mouseclick。   我尝试用mousegetcusor,发现不好使
for $t =1...
devineresse 发表于 2014-8-11 21:53 http://www.autoitx.com/images/common/back.gif

WinWaitActive不是返回一个窗口句柄么?通过检测它呢?不行,其下一步有无窗口或者啥的弹出?再接着检测之呢?
BTY: 也不知我理解得对不。

lin6051 发表于 2014-8-16 16:24:27

帮顶我也想知道应该是用消息来做的吧

ak47gglllk 发表于 2014-8-18 09:46:05

学习,感谢感谢,非常感谢

shqf 发表于 2014-8-18 15:56:04

在检索什么?检索好了,界面有什么变化吗?
页: [1] 2
查看完整版本: 如何判断程序已经响应完毕?