操作窗口,在激活一个提示窗口后代码卡主不运行了[已解决]
本帖最后由 heroxianf 于 2016-4-1 11:51 编辑操作公司产品输入问题,在查找产品工号是如果不存在此工号就会弹出一个对话框。AU3在执行到对话框弹出后就会卡主不动了,手动确定对话框又能继续执行代码。不知道坛友遇到过这类问题没有,还请指点一下。
看帮助,有个超时时间,自己设置时间。MsgBox ( 标志, "标题", "文本" [, 超时时间 [, 句柄]] ) 使用 WinClose ( "窗口标题" [, "窗口文本"] ) 把弹窗关掉 回复 2# haijie1223 ControlCommand($xTitle, $xSubTitle, "ThunderRT6CommandButton4", "SendCommandID", "{ENTER}")海大,上面是这句执行后公司产品系统弹出提示框。 后边的代码就不执行了。不是我下面的MSGBOX弹出来的。不过我把ControlCommand换成ControlClick貌似就可以了,不晓得什么原因。
Opt("WinTitleMatchMode", 4)
For $i = 0 To 5
ControlClick($xTitle, $xSubTitle, "ThunderRT6CommandButton4", "", "1")
Sleep(1000)
;MsgBox(0, '', '进入下一步!', 3)
local $hWnd = WinGetHandle('AddinStaffRoleGroup')
If $hWnd <> '' Then
winclose($hWnd)
ControlSetText($xTitle, $xSubTitle, "ThunderRT6TextBox4", "")
MsgBox(0, '', '没有查到的号码是:' & $aNo[$i], 1)
Else
MsgBox(0, '', '●●●●●●查到的号码是:' & $aNo[$i], 1)
sleep(100)
EndIf
Next 回复 3# chamlien
要先进行判断一下,如果不弹出来就没必要close! 回复 4# heroxianf
不管用什么,能解决问题就好。 回复 6# haijie1223
好勒,我先多测试一下看看判断存在是不是很稳定。 回复 5# heroxianf
代码上用for循环来判断,不大准确,万一卡着7秒8秒才出来那个窗口呢?个人觉得while合适 回复 8# chamlien
这里只是一小部分来测试,FOR那里是从excel表格里读取出来的数据!while能带个条件吗?
页:
[1]