本帖最后由 oksy 于 2010-7-27 07:53 编辑
本人系菜鸟,有待各位高手指教。
不好意思,标题不知道应该怎表达,不过,在主内容中我会说得详细些,希望不会被扣分,哈哈哈哈!~
先看段代码吧Run("ACDSEE_9.0.exe")
WinWaitActive("安装 - ACDSee 9","欢迎使用 ACDSee 9 安装向导")
Send("!n")
WinWaitActive("安装 - ACDSee 9","请仔细阅读下列许可协议。")
Send("!n")
WinWaitActive("安装 - ACDSee 9","ACDSee 是目前最流行的数字图象处理软件")
Send("!n")
WinWaitActive("安装 - ACDSee 9","选择目标位置")
Send("!n")
WinWaitActive("安装 - ACDSee 9","选择开始菜单文件夹")
Send("!n")
WinWaitActive("安装 - ACDSee 9","选择附加任务")
Send("!n")
WinWaitActive("安装 - ACDSee 9","安装程序现在准备开始安装 ACDSee 9 到您的电脑中。")
Send("!i")
WinWaitActive("安装 - ACDSee 9","http://www.ylmf.com")
Send("!n")
WinWaitActive("安装 - ACDSee 9","ACDSee 9 安装向导完成")
Send("{Tab}")
Send(" ")
Send("!f")
WinWaitActive("编目文件向导","你能够通过编目你的图像和媒体文件提高 ACDSee 的性能。")
ControlClick ("编目文件向导","取消", "Button6")
Sleep(2000)
Do
If WinExists("文件关联已经变更","ACDSee 9.0 已经不再与你先前选择的文件类型建立关联") Then
WinActivate("文件关联已经变更","ACDSee 9.0 已经不再与你先前选择的文件类型建立关联")
Send("!d")
ControlClick ("文件关联已经变更","确定", "Button2")
EndIf
Until WinExists("My Pictures - ACDSee 9 Photo Manager")
WinActivate("My Pictures - ACDSee 9 Photo Manager")
WinClose("My Pictures - ACDSee 9 Photo Manager")
这是我个人写的一个自动安装雨林木风版本的ACDSEE9.0程序,勉强可以运行使用,呵呵。
在程序安装完后,会执行安装好的程序,并有相映的窗口跳出,所以需要对跳出的窗口进行进一步的自动设置(设置好后,运行程序,将不再会跳出此窗口,在使用过程中)。
程序完成是在
WinWaitActive("安装 - ACDSee 9","ACDSee 9 安装向导完成")
Send("{Tab}")
Send(" ")
Send("!f")
结束后。
“编目文件向导”和“文件关联已经变更”窗口就是运行程序后,跳出的需要调试的窗口。但由于“文件关联已经变更”跳出比较迟,所以用到Sleep(2000)命令进行等待。
我现在的问题是这样的:
1、由于每台计算机的配置不可能相同,所以,“文件关联已经变更”窗口跳出的时间也肯定不见得就是我所设定的时间范围,如果超出了时间,没有跳出窗口,则直接运行了后续程序。自然在下次运行程序时,此窗口仍然会跳出,没有达到安装后直接使用的效果。
2、当然,把Sleep时间设长,可以满足要求。但如果时间设置过长,在安装的过程中感觉就不连贯,虽然可以达到目的,但浪费了时间。
所以,我想向高手了解,是否还有别的方式能解决此问题,使用别的命令,取消Sleep的等待时间;或换个思维方式编写程序来实现。这样写出来的程序,出现的不可预知性会减少到最低,又能完美的解决问题。
请高手赐教!~~~
当然,各位高手如果对我写的程序本身有什么好的建议,也请提出来,谢谢!~~~ |