找回密码
 加入
搜索
查看: 3800|回复: 3

[GUI管理] 界面无法自动关闭,还请大家帮我看一下是怎么回事?

[复制链接]
发表于 2010-8-4 02:04:10 | 显示全部楼层 |阅读模式
本帖最后由 风林 于 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-8-4 02:19:45 | 显示全部楼层
本帖最后由 afan 于 2010-8-4 02:21 编辑

在相应位置插入红字部分
                $msggui = GUICreate("软件提示", 350, 50) ;创建窗口
                GUISetState(@SW_SHOW)
                Do
                        GUICtrlCreateLabel("现在开始安装office2007.   " & $z, 20, 20)
                        Sleep(1000)
                        $z = $z - 1
                Until $z = 0
                GUIDelete($msggui)
发表于 2010-8-4 09:58:43 | 显示全部楼层
每层分好!!!!!
 楼主| 发表于 2010-8-4 11:22:48 | 显示全部楼层
在相应位置插入红字部分
afan 发表于 2010-8-4 02:19


照你说的做就可以了,非常感谢。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 12:35 , Processed in 0.124895 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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