新手求助
写了一个自动安装程序,但是,不知道为什么elseif部分符合条件也不执行,单独写就好使,代码如下Run("a.exe")
If WinWaitActive("a","下一步") Then
send("!N")
WinWaitActive("a","我同意")
send("!A")
WinWaitActive("a","下一步")
send("!N")
WinWaitActive("a","下一步")
send("!N")
WinWaitActive("a","关闭")
send("!C")
Exit
ElseIf WinWaitActive("a","完成") Then
send("!F")
WinWaitActive("a","关闭")
send("!C")
Exit
EndIf 问题出在:
WinWaitActive :暂停脚本的执行直至指定窗口被激活(成为活动状态)为止.
你再好好读这句话。
以上是我的理解。供你参考。 问题出在:
WinWaitActive :暂停脚本的执行直至指定窗口被激活(成为活动状态)为止.
你再好好读这句话。
以上是我的理解。供你参考。 本帖最后由 javarike 于 2009-6-3 11:16 编辑
修改了一下:
Run("a.exe")
If WinWaitActive("a","下一步") Then
send("!N")
WinWaitActive("a","我同意")
send("!A")
WinWaitActive("a","下一步")
send("!N")
WinWaitActive("a","下一步")
send("!N")
WinWaitActive("a","关闭")
send("!C")
;Exit-----------这个EXIT有什么用?去掉!
ElseIf WinExists("a","完成") Then
send("!F")
WinWaitActive("a","关闭")
send("!C")
Exit
EndIf
WinExists :检查指定的窗口是否存在. 我怎么试WinExists不起作用哪
Run("a.exe")
If WinExists("a","下一步") Then
MsgBox(0, "", "Window not active")
EndIf 根本没必要用if then
多余 安装程序,如果机器上已有此安装程序,弹出的界面与第一次安装不一样,因此用的if。 那用AdlibEnable 、 AdlibDisable 伪多线程去检测不是更好AdlibEnable("myadlib")
Func myadlib()
If WinActive("已经安装--只是举例而已") Then
Exit ;如果出现已经安装的提示窗口,就推出安装
EndIf
EndFunc
AdlibDisable("myadlib")
放到安装脚本的前面作为检测
复杂一点的示例:
http://www.autoitx.com/forum.php?mod=viewthread&tid=5642 想知道为什么我用WinExists函数无法检查当前窗口是否为指定窗口哪,是我用的不正确吗, Run("a.exe")
If WinWaitActive("a","下一步") Then
什么是a???
a是标题吗?
如果不是
请你回去好好翻下帮助文件
:face (9): 当然是标题了。 想知道为什么我用WinExists函数无法检查当前窗口是否为指定窗口哪,是我用的不正确吗,
qiusuo808 发表于 2009-6-3 16:06 http://www.autoitx.com/images/common/back.gif
WinExists是检查指定的窗口是否存在
要检查当前窗口是否为指定窗口用WinActive 我怎么试WinExists不起作用哪
Run("a.exe")
If WinExists("a","下一步") Then
MsgBox(0, "", "Window not active")
EndIf
qiusuo808 发表于 2009-6-3 15:17 http://www.autoitx.com/images/common/back.gif
很明显他用了进程名来做标题了...我举例子而已..
页:
[1]