heroxianf 发表于 2016-3-30 16:02:15

操作窗口,在激活一个提示窗口后代码卡主不运行了[已解决]

本帖最后由 heroxianf 于 2016-4-1 11:51 编辑

操作公司产品输入问题,在查找产品工号是如果不存在此工号就会弹出一个对话框。AU3在执行到对话框弹出后就会卡主不动了,手动确定对话框又能继续执行代码。不知道坛友遇到过这类问题没有,还请指点一下。



haijie1223 发表于 2016-3-30 16:14:24

看帮助,有个超时时间,自己设置时间。MsgBox ( 标志, "标题", "文本" [, 超时时间 [, 句柄]] )

chamlien 发表于 2016-3-30 16:21:14

使用 WinClose ( "窗口标题" [, "窗口文本"] ) 把弹窗关掉

heroxianf 发表于 2016-3-30 16:42:47

回复 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

heroxianf 发表于 2016-3-30 16:43:39

回复 3# chamlien

要先进行判断一下,如果不弹出来就没必要close!

haijie1223 发表于 2016-3-30 16:49:53

回复 4# heroxianf


    不管用什么,能解决问题就好。

heroxianf 发表于 2016-3-30 17:16:35

回复 6# haijie1223

好勒,我先多测试一下看看判断存在是不是很稳定。

chamlien 发表于 2016-3-30 18:35:55

回复 5# heroxianf

代码上用for循环来判断,不大准确,万一卡着7秒8秒才出来那个窗口呢?个人觉得while合适

heroxianf 发表于 2016-3-30 23:58:35

回复 8# chamlien


    这里只是一小部分来测试,FOR那里是从excel表格里读取出来的数据!while能带个条件吗?
页: [1]
查看完整版本: 操作窗口,在激活一个提示窗口后代码卡主不运行了[已解决]