找回密码
 加入
搜索
查看: 2156|回复: 8

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

  [复制链接]
发表于 2016-3-30 16:02:15 | 显示全部楼层 |阅读模式
本帖最后由 heroxianf 于 2016-4-1 11:51 编辑

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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-3-30 16:14:24 | 显示全部楼层
看帮助,有个超时时间,自己设置时间。
MsgBox ( 标志, "标题", "文本" [, 超时时间 [, 句柄]] )
发表于 2016-3-30 16:21:14 | 显示全部楼层
使用 WinClose ( "窗口标题" [, "窗口文本"] ) 把弹窗关掉
 楼主| 发表于 2016-3-30 16:42:47 | 显示全部楼层
回复 2# haijie1223
ControlCommand($xTitle, $xSubTitle[1], "ThunderRT6CommandButton4", "SendCommandID", "{ENTER}")
海大,上面是这句执行后公司产品系统弹出提示框。   后边的代码就不执行了。不是我下面的MSGBOX弹出来的。不过我把ControlCommand换成ControlClick貌似就可以了,不晓得什么原因。

Opt("WinTitleMatchMode", 4)

For $i = 0 To 5
        ControlClick($xTitle, $xSubTitle[1], "ThunderRT6CommandButton4", "", "1")
        Sleep(1000)
        ;MsgBox(0, '', '进入下一步!', 3)

local $hWnd = WinGetHandle('AddinStaffRoleGroup')
If $hWnd <> '' Then
winclose($hWnd)
ControlSetText($xTitle, $xSubTitle[1], "ThunderRT6TextBox4", "")
MsgBox(0, '', '没有查到的号码是:' & $aNo[$i], 1)
Else
        MsgBox(0, '', '●●●●●●查到的号码是:' & $aNo[$i], 1)
        sleep(100)
        EndIf
Next
 楼主| 发表于 2016-3-30 16:43:39 | 显示全部楼层
回复 3# chamlien

要先进行判断一下,如果不弹出来就没必要close!
发表于 2016-3-30 16:49:53 | 显示全部楼层
回复 4# heroxianf


    不管用什么,能解决问题就好。
 楼主| 发表于 2016-3-30 17:16:35 | 显示全部楼层
回复 6# haijie1223

好勒,我先多测试一下看看判断存在是不是很稳定。
发表于 2016-3-30 18:35:55 | 显示全部楼层
回复 5# heroxianf

代码上用for循环来判断,不大准确,万一卡着7秒8秒才出来那个窗口呢?个人觉得while合适
 楼主| 发表于 2016-3-30 23:58:35 | 显示全部楼层
回复 8# chamlien


    这里只是一小部分来测试,FOR那里是从excel表格里读取出来的数据!while能带个条件吗?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 02:58 , Processed in 0.078797 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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