|
本帖最后由 风林 于 2010-8-4 02:10 编辑
我做一个图形界面的脚本文件,可以选择相关的软件,然后调动其他程序自动安装,现在遇到一个问题,就是我希望选择开始安装后会有一个界面出来,提示“现在正在安装***软件”,过3秒后自动消失,开始运行后台程序。但我发现出来的提示界面倒数到1时就停住了,不会自动关闭。但是会接下去运行后面脚本,要等到最后软件运行完才一起关闭,我想了很久都不知道是什么问题,麻烦知道的人告诉我一下,谢谢!
PS: 我把可能是问题的地方用红色标出来了。
$g_szVersion = "软件自动安装工具"
If WinExists($g_szVersion) Then
MsgBox(32,"","相同程序已经开始运行,请勿重复打开")
Exit ; 此脚本已经运行了
EndIf
AutoItWinSetTitle($g_szVersion)
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)
$mainwindows=GUICreate("软件自动安装工具", 400, 280) ;创建窗口
GUISetOnEvent($Gui_EVENT_CLOSE,"CLOSEClicked") ;窗口关闭响应
GUISetState(@SW_SHOW) ;显示窗口
$okbutton=GUICtrlCreateButton("确定", 90, 220, 70,40);创建确定按钮
$nobutton=GUICtrlCreateButto(“取消",220,220,70,40) ;创建取消按钮
GUICtrlSetOnEvent($okbutton,"okbutton") ;按钮点击响应
GUICtrlSetOnEvent($nobutton,"nobutton") ;未成功
GUICtrlCreateCheckbox("office2007",40,15,90,30) ;创建复选键
GUICtrlCreateCheckbox("SEP杀毒软件",230,15,90,30)
GUICtrlCreateCheckbox("SAP 710",40,40,90,30)
GUICtrlCreateCheckbox("SSL VPN 拨号工具",230,40,130,30)
GUICtrlCreateCheckbox("7-zip 解压缩软件",40,65,130,30)
GUICtrlCreateCheckbox("Adobe Reader 9(PDF)",230,65,130,30)
GUICtrlCreateCheckbox("MSN 9.0",40,90,130,30)
GUICtrlCreateCheckbox("Lotus notes 8.5标准版 (内存≥1G)",40,115,250,30)
GUICtrlCreateCheckbox("Lotus notes 8.5基本版 (内存≤1G)",40,140,250,30)
While 1
Sleep(1000) ; 不做任何事
WEnd
Func okbutton() ;点击确定按键时启动事件
msgbox(0,"重要提示","注意:在软件安装过程中请勿触碰键盘和鼠标,安装完成后将会提示您!")
WinWaitClose("重要提示","注意:在软件安装过程中请勿触碰键盘和鼠标,安装完成后将会提示您!") ;;等待提示窗口被关闭后继续执行下面脚本
$a=GUICtrlRead(5) ;第一个控件检测
if $a=$GUI_CHECKED Then
$z=3
GUICreate("软件提示", 350, 50) ;创建窗口
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装office2007. " &$z,20,20)
sleep(1000)
$z=$z-1
Until $z=0
RunWait("D:\公用软件\其他工具\软件自动安装脚本\office2007.exe")
EndIf
Sleep(1000)
$b=GUICtrlRead(6) ;第二个控件检测
if $b=$Gui_checked then
$x=3
GUICreate("软件提示", 350, 50) ;创建窗口
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装SEP杀毒软件. " &$x,20,20)
sleep(1000)
$x=$x-1
Until $x=0
;RunWait("D:\公用软件\其他工具\软件自动安装脚本\SEP.exe")
EndIf
sleep(1000)
$c=GUICtrlRead(7); 第三控件检测R
if $c=$Gui_checked Then
$y=3
GUICreate("软件提示", 350, 50) ;创建窗口
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装SAP软件. " &$y,20,20)
sleep(1000)
$y=$y-1
Until $y=0
;RunWait("D:\公用软件\其他工具\软件自动安装脚本\SAP 710.exe")
EndIf
sleep(1000)
$d=GUICtrlRead(8) ;第四控件检测
if $d=$Gui_checked Then
$u=3
GUICreate("软件提示", 350, 50) ;创建提示窗口,提示用户现在安装什么软件
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装SSL VPN客户端. " &$u,20,20)
sleep(1000)
$u=$u-1
Until $u=0
;RunWait("D:\公用软件\其他工具\软件自动安装脚本\SSL VPN.exe")
EndIf
sleep(1000)
$e=GUICtrlRead(9) ;第五控件检测
if $e=$Gui_checked Then
$v=3
GUICreate("软件提示", 350, 50) ;创建窗口
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装7-zip解压缩软件. " &$v,20,20)
sleep(1000)
$v=$v-1
Until $v=0
;RunWait("D:\公用软件\其他工具\软件自动安装脚本\7-zip.exe")
EndIf
$f=GUICtrlRead(10)
if $f=$Gui_checked Then
$w=3
GUICreate("软件提示", 350, 50) ;创建窗口
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装Adobe Reader 9. " &$w,20,20)
sleep(1000)
$w=$w-1
Until $w=0
;RunWait("D:\公用软件\其他工具\软件自动安装脚本\Adobe reader 9.exe")
EndIf
$g=GUICtrlRead(11)
if $g=$Gui_checked Then
$t=3
GUICreate("软件提示", 350, 50) ;创建窗口
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装MSN软件. " &$t,20,20)
sleep(1000)
$t=$t-1
Until $t=0
;RunWait("D:\公用软件\其他工具\软件自动安装脚本\MSN 9.0.exe")
EndIf
$h=GUICtrlRead(12)
if $h=$Gui_checked Then
$s=3
GUICreate("软件提示", 350, 50) ;创建窗口
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装Lotus notes8.5标准版. " &$s,20,20)
sleep(1000)
$s=$s-1
Until $s=0
;RunWait("D:\公用软件\其他工具\软件自动安装脚本\Lotus notes 8.5_standard.exe")
EndIf
$i=GuictrlRead(13)
if $i=$Gui_checked Then
$r=3
GUICreate("软件提示", 350, 50) ;创建窗口
GUISetState(@SW_SHOW)
DO
GUICtrlCreateLabel("现在开始安装Lotus notes8.5基本版. " &$r,20,20)
sleep(1000)
$r=$r-1
Until $r=0
;RunWait("D:\公用软件\其他工具\软件自动安装脚本\Lotus notes 8.5_Basic.exe")
EndIf
msgbox(0,"安装完成"," 软件安装成功 ! ") ;结束提示
WinWaitClose("安装完成"," 软件安装成功") ;关闭提示窗口
Exit
EndFunc
Func nobutton() ;点击取消键退出
Exit
EndFunc
Func CLOSEClicked();关闭窗口
Exit
EndFunc |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入
×
|