找回密码
 加入
搜索
查看: 1977|回复: 14

关于winwaitactive的疑惑。

[复制链接]
发表于 2009-3-7 01:35:04 | 显示全部楼层 |阅读模式
写了一段自动安装软件的代码。
前面全都能执行成功,可是到了最后退出的时候失败。
过程如下:
调用安装文件--安装--安装完毕选择执行程序--输入注册码--确定注册成功
以上都没有问题,注册完了之后进入软件的主界面,我选择ALT+F然后再按E退出软件。
如:
WinWaitActive("test","Ready")
Send("!f")
send("e")
如果打开安装好的软件主界面,单执行以上三行就能实现成功退出,如果加上之前软件的安装注册过程一起用就会停在软件主界面,不知道为何如此,烦请高手解释下。
失败例子如下:
.........
.........
省略前面部门......
WinWaitActive("Thanks","Key accepted")
ControlClick("Thanks","确定","Button1")

WinWaitActive("test","Ready")
Send("!f")
send("e")

万分感谢,我是刚接触,很多东西都不懂。。。。

[ 本帖最后由 leon 于 2009-3-12 16:18 编辑 ]
发表于 2009-3-7 01:56:44 | 显示全部楼层
标题改变了吧  请确定标题对不对

脚本加上#AutoIt3Wrapper_Run_Debug_Mode=y
看卡在哪一步
发表于 2009-3-7 15:15:07 | 显示全部楼层
等待几秒钟再send试试,也许是刚刚打开窗口的时候不响应。
 楼主| 发表于 2009-3-9 11:23:49 | 显示全部楼层

回复 2# sxd 的帖子

标题没有问题,反复确认了标题。
就是卡在关闭软件主页面了。
 楼主| 发表于 2009-3-9 11:24:25 | 显示全部楼层

回复 3# lm099 的帖子

尝试了sleep(3000)没有效果。
发表于 2009-3-9 11:31:14 | 显示全部楼层
要不试试三行一起用:
WinWait("test","Ready")
WinActivate("test","Ready")
WinWaitActive("test","Ready")
发表于 2009-3-9 11:51:01 | 显示全部楼层
怪异
发表于 2009-3-9 13:50:02 | 显示全部楼层
E这个按钮是不是在焦点上,如果不是直接发送按键不行的
 楼主| 发表于 2009-3-9 14:02:01 | 显示全部楼层

回复 6# lm099 的帖子

三行一起用了也不行。。。
郁闷ing~~~~~
 楼主| 发表于 2009-3-9 14:03:50 | 显示全部楼层

回复 8# 风行者 的帖子

WinWaitActive("test","Ready")
Send("!f")
send("e")

这三行我换成了
WinWaitActive("test","Ready")
Send("!{F4}")
也不行,如果打开软件主界面,单执行就可以。。。。
发表于 2009-3-9 14:07:46 | 显示全部楼层
直接结束该安装程序进程,反正都已经注册成功了,结束进程不会有什么不妥吧?~!
发表于 2009-3-11 03:47:51 | 显示全部楼层
楼上正解
processclsoe
 楼主| 发表于 2009-3-11 10:27:55 | 显示全部楼层

回复 12# lynfr8 的帖子

可是,,,可是,,,processclose也不行啊。。。。。
 楼主| 发表于 2009-3-11 15:20:48 | 显示全部楼层
多谢大家这么热情的帮忙,问题已经解决了。
是用processclose实现的,不知道何原因,在我写代码的这台机子老是失败,但是从另外一台上测试就通过了。
发表于 2009-3-11 15:39:40 | 显示全部楼层
WinClose("test","Ready")
就用这一句
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 02:10 , Processed in 0.075551 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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