关于WinWaitActive 无法获取窗口。。[已解决]
本帖最后由 icer2 于 2011-5-26 16:40 编辑点击开始安装后,没有到最后一步的窗口,就已经把脚本运行完成了..
使用 WinWaitActive("易飞 ERP 系统客户端安装向导","完成安装");
无法获取
使用 WinWaitActive("", "")
其中整个安装过程的窗口类均为: YIFEI_SETUPGUID,亦无法获取
使用 WinWaitActive("", "完成安装")
其中整个安装过程的窗口类均为: YIFEI_SETUPGUID,加上了文本标题,亦无法获取
使用 WinWaitActive("", "")
其中TMemo为单独的控件类,即使加上了该控件接口:1,亦是无法获取
我把能用的办法都试了 还是不行...
请各位高手帮帮忙,一下是全文代码:{:face (197):}
;本脚本由i-Autoit-1.01 正式版 生成 ,非常感谢您的使用,请保留此脚本声明!2011年05月25日
;--------------------------------------------------------------;脚本开始
Opt("TrayIconDebug", 1) ;0=无信息, 1=调试信息
Opt("WinTextMatchMode", 2) ;1=完全匹配, 2=快速匹配
Opt("WinTitleMatchMode", 4) ;1=开头, 2=子串, 3=完全, 4=高级
Opt("WinSearchChildren", 1) ;0=不搜索, 1=搜索子窗口
Opt("WinDetectHiddenText", 1) ;0=不检测, 1=检测
;--------------------------------------------------------------;设置脚本参数
$WinTitle_1= '易飞 ERP 系统客户端安装向导'
$WinTitle_2= '易飞程序更新精灵-ver: 7.0.0.0'
$Wintxt_0= ''
$Wintxt_1= '下一步 ->'
$Wintxt_2= '自定义安装/升级'
$Wintxt_3= '跳过此步'
$Wintxt_4= '开始安装 ->'
;--------------------------------------------------------------;窗口元素变量声明
$Exe = '\\10.1.2.20\soft\erp\ERP70\ERp70\LeaderSetup.exe'
If ProcessExists($Exe) Then ProcessClose($Exe)
If Run($Exe) = 0 Then ShellExecute($Exe)
Do
Sleep(10);
Until WinExists($Wintitle_1)
;WinMove($Wintitle_1, "", -1000, -1000)
;--------------------------------------------------------------;程序启动,显示界面
WinWaitActive("易飞 ERP 系统客户端安装向导","取消")
Opt("MouseCoordMode", 0)
MouseClick ( "left",300,400)
WinWaitActive($Wintitle_1, $Wintxt_1);
ControlClick($Wintitle_1, $Wintxt_1, "TRadioButton2");---------------;点击按钮控件: 我同意以上许可协议中所有条款
WinWaitActive($Wintitle_1, $Wintxt_1);
ControlClick($Wintitle_1, $Wintxt_1, "TBitBtn2");---------------;点击按钮控件: 下一步 ->
WinWaitActive($Wintitle_1, $Wintxt_2);
ControlSetText($Wintitle_1, $Wintxt_2, "TDsBtnEdit1", "D:\Conductor70");------;重置文本框控件文本
ControlSetText($Wintitle_1, $Wintxt_2, "TDsEdit1", "10.1.2.6");------;重置文本框控件文本
ControlClick($Wintitle_1, $Wintxt_2, "TBitBtn2");---------------;点击按钮控件: 下一步 ->
WinWaitActive($Wintitle_1, $Wintxt_4);
ControlClick($Wintitle_1, $Wintxt_3, "TBitBtn2");---------------;点击按钮控件: 开始安装 ->
WinWait("易飞 ERP 系统客户端安装向导","完成安装");
ControlClick("易飞 ERP 系统客户端安装向导","完成安装","TRadioButton3")
ControlClick("易飞 ERP 系统客户端安装向导","完成安装","TBitBtn2") 有知道的朋友吗?
给个提示也好啊..
我现在好困惑...
Do
Sleep(10)
Until WinExists("易飞 ERP 系统客户端安装向导","完成安装") = True
ControlClick("易飞 ERP 系统客户端安装向导","完成安装","TRadioButton3")
ControlClick("易飞 ERP 系统客户端安装向导","完成安装","TBitBtn2")
试试 回复 3# 都市浪子666
貌似不行额...
一样的,一点击开始安装脚本就结束了。。
根本不让等到最后一步的窗口..
不知道用高级模式和控件句柄 有没有用..
高手,给个例子啊。。。 最新测试结果:
WinWaitActive("", "")
WinWaitActive("", "完成安装")
WinWaitActive("", "")
换成以上三条用法 还是不行。。。 好吧, 经过我的苦思之后 终于想到一个办法.
整个软件整个过程的窗口类 不都是一样的么.
行,我就写一个 检测这个窗口是否存在,如果存在 则在 x,y 坐标 循环点击鼠标。
直到循环结束为止..
我开始自己写了If WinExists("")Then
MouseClick ( "left",386,500,1,3)
Sleep(1000);
EndIf
发现有问题, 只检测一遍就执行完毕了..
看来这是写反了..
之后找群里的 无所谓的蛋蛋,帮忙写好了。
现在分出来吧..do
MouseClick ( "left",386,500,1,3)
Sleep(10000);
until not(winexists(""))
页:
[1]