找回密码
 加入
搜索
查看: 2549|回复: 4

双击程序弹出属性窗口,键盘失效!

[复制链接]
发表于 2009-4-19 13:59:47 | 显示全部楼层 |阅读模式
Run('H3C.exe')
$hd="H3C 802.1X 客户端 - InstallShield Wizard"
WinWait($hd,"欢迎使用 H3C 802.1X 客户端 InstallShield Wizard")
if Not WinActive($hd,"欢迎使用 H3C 802.1X 客户端 InstallShield Wizard") Then WinActivate($hd,"欢迎使用 H3C 802.1X 客户端 InstallShield Wizard")
WinWaitActive($hd,"欢迎使用 H3C 802.1X 客户端 InstallShield Wizard")
ControlClick($hd,"欢迎使用 H3C 802.1X 客户端 InstallShield Wizard","Button1")
Send("!n")
WinWait($hd,"许可协议")
if Not WinActive($hd,"许可协议") Then WinActivate($hd,"许可协议")
WinWaitActive($hd,"许可协议")
ControlClick($hd,"许可协议","Button5")
Send("!n")
WinWait($hd,"客户信息")
if not WinActivate($hd,"客户信息") Then WinActivate($hd,"客户信息")
WinActivate($hd,"客户信息")
ControlSetText($hd,"客户信息","Edit1","")
ControlSetText($hd,"客户信息","Edit2","")
ControlSend($hd,"客户信息","Edit1","PC0624")
ControlSend($hd,"客户信息","Edit2","pc0624")
Send("!n")
WinWait($hd,"安装类型")
if not WinActivate($hd,"安装类型") then WinActivate($hd,"安装类型")
WinActivate($hd,"安装类型")
ControlClick($hd,"安装类型","Button4")
Send("!n")
WinWait($hd,"可以安装该程序了")
if not WinActivate($hd,"可以安装该程序了") then WinActivate($hd,"可以安装该程序了")
WinActivate($hd,"可以安装该程序了")
ControlClick($hd,"可以安装该程序了","Button1")
Send("{enter}")
WinWait($hd,"InstallShield Wizard 完成")
if not WinActivate($hd,"InstallShield Wizard 完成") then WinActivate($hd,"InstallShield Wizard 完成")
WinActivate($hd,"InstallShield Wizard 完成")
ControlClick($hd,"InstallShield Wizard 完成","Button2")
Send("{enter}")


麻烦大家帮我看看这脚本是怎么了·~~有时候运行第二次的时候就会导致双击程序弹出属性窗口,键盘失效的???按一下alt键之后又恢复正常了,还有请问怎么能够让一个脚本运行完成之后就自动关闭的啊?好像每次运行完成之后都会在桌面右下角的?谢谢大家~~~
发表于 2009-4-19 19:18:33 | 显示全部楼层

会自动结束脚本

不行就加Exit
另外
WinWait($hd,"InstallShield Wizard 完成")
if not WinActivate($hd,"InstallShield Wizard 完成") then WinActivate($hd,"InstallShield Wizard 完成")
类似这两句的可以删除
留WinWaitActive($hd,"InstallShield Wizard 完成")就可以了

修改后代码,你试试能否顺利运行并退出?
Run('H3C.exe')
$hd="H3C 802.1X 客户端 - InstallShield Wizard"
WinWaitActive($hd,"欢迎使用 H3C 802.1X 客户端 InstallShield Wizard")
ControlClick($hd,"欢迎使用 H3C 802.1X 客户端 InstallShield Wizard","Button1")
Send("!n")
WinWaitActive($hd,"许可协议")
ControlClick($hd,"许可协议","Button5")
Send("!n")
WinWaitActive($hd,"客户信息")
ControlSetText($hd,"客户信息","Edit1","PC0624");这里修改下
ControlSetText($hd,"客户信息","Edit2","pc0624");没必要ControlSend再ControlSetText
Send("!n")
WinWaitActive($hd,"安装类型")
ControlClick($hd,"安装类型","Button4")
Send("!n")
WinWaitActive($hd,"可以安装该程序了")
ControlClick($hd,"可以安装该程序了","Button1")
Send("{enter}")
WinWaitActive($hd,"InstallShield Wizard 完成")
ControlClick($hd,"InstallShield Wizard 完成","Button2")
WinWaitActive($hd,"InstallShield Wizard 完成");如果Exit不行试试加这句
Send("{enter}")


[ 本帖最后由 lynfr8 于 2009-4-19 22:00 编辑 ]
发表于 2009-4-19 20:42:51 | 显示全部楼层
小新同学不错啊,基础好,学得挺快!
 楼主| 发表于 2009-4-19 20:57:23 | 显示全部楼层
有时候我就觉得
if not WinActivate($hd,"InstallShield Wizard 完成") then WinActivate($hd,"InstallShield Wizard 完成")
这样一句是比较多余的,但是偶然没有加这句就停在了某个窗口,我以为是这个有问题咧·~谢谢大家·~~
发表于 2009-9-4 19:48:22 | 显示全部楼层
先顶,再下来学习
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 01:26 , Processed in 0.079831 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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