找回密码
 加入
搜索
查看: 13877|回复: 16

[效率算法] 如何判断程序已经响应完毕?

 火.. [复制链接]
发表于 2014-8-11 12:32:54 | 显示全部楼层 |阅读模式
我打开一个程序,或者大量数据中的检索过程中,鼠标呈现忙碌状态,这个时候程序界面是不能点击的。  我如何通过au3判断可以进行下一步操作了?
         
         我现在用的是Sleep(8000),但是这个太浪费时间了。请问有没有办法解决,一旦响应完毕,就可以进行下一步?
发表于 2014-8-11 12:46:30 | 显示全部楼层
runwait
 楼主| 发表于 2014-8-11 12:55:35 | 显示全部楼层
回复 2# haijie1223


    这个不行啊,是程序响应完毕,后要继续使用这个程序,runwait看解释:运行外部程序并暂停脚本执行,直到程序结束.
发表于 2014-8-11 13:52:11 | 显示全部楼层
可以试试判断程序的CPU占用率,或者是否可以成功改变某一控件状态
发表于 2014-8-11 14:27:26 | 显示全部楼层
回复 3# devineresse

能不能把具体代码发上来~
发表于 2014-8-11 18:48:15 | 显示全部楼层
回复 1# devineresse


    试试 MouseGetCursor() 获取鼠标的状态?
 楼主| 发表于 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[0][3]="r" Then
Local $date=$cominfo[0][1]
$code="211301"& $cominfo[0][0]
MsgBox(64,"",$cominfo[0][1])
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)
 楼主| 发表于 2014-8-11 21:53:48 | 显示全部楼层
问题处在倒数第二行,程序响应完了,最后用mouseclick。   我尝试用mousegetcusor,发现不好使
for $t =1 to 4
if mousegetcusor()<>2 then
sleep(2000)
$t=$t+1
endif
Next
发表于 2014-8-16 09:29:33 | 显示全部楼层
还是没弄懂啊,
发表于 2014-8-16 09:56:29 | 显示全部楼层
楼主的代码你代码这么金贵吗~发出一半来谁能测试代码
发表于 2014-8-16 10:50:08 | 显示全部楼层
回复 10# haijie1223


    人家不舍得公开~   但是又想让别人给解决问题....
发表于 2014-8-16 11:00:39 | 显示全部楼层
问题处在倒数第二行,程序响应完了,最后用mouseclick。   我尝试用mousegetcusor,发现不好使
for $t =1  ...
devineresse 发表于 2014-8-11 21:53


WinWaitActive不是返回一个窗口句柄么?通过检测它呢?不行,其下一步有无窗口或者啥的弹出?再接着检测之呢?
BTY: 也不知我理解得对不。
发表于 2014-8-16 16:24:27 | 显示全部楼层
帮顶  我也想知道  应该是用消息来做的吧
发表于 2014-8-18 09:46:05 | 显示全部楼层
学习,感谢感谢,非常感谢
发表于 2014-8-18 15:56:04 | 显示全部楼层
在检索什么?检索好了,界面有什么变化吗?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-1 07:52 , Processed in 0.078031 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表