Jump to content
Sign in to follow this  
Guest bijukon

closing window.

Recommended Posts

Guest bijukon


Having a little trouble closing a window after a certain length of time.

Basically I want to give users a choice on wether they want to proceed with a software install. I have a progress bar indicating timeout. If nothing is selected I want the window to close and proceed with the install.

So a couple of things here really:

When I set up the progress bar, I cant click any buttons (maybe I've coded this wrong), thats why I have disabled them while counting down the activate them once countdown has completed. There probably is a better of doing this. If so, please enlighten.

Also I would like the window to close after a period of time if no option has been selected. Again any guidance would be appreciated.

Opt("GUICoordMode", 1)
Opt("GUINotifyMode", 1)

GuiCreate("Office 2003 install", 340,150)
$yes = GUISetControl("Button", "Ok", 40,100, 80,30)
$no = GUISetControl("Button", "Cancel", 190,100, 80,30)
GuiSetControl("label", "System is about to install Office 2003. Your current Office version will be removed.  If you would like to upgrade at another time press CANCEL", 10, 10, 320, 70)
$timer = GUISetControl("progress", "progress_1", 40,55, 230,30)
;GuiWaitClose ()

GUISetControlEx ($yes, 128)
GUISetControlEx ($no, 128)

For $i = 100 to 0 step -5
;    ProgressSet( $i, $i & " percent")
;    GUISetControl("progress", "progress_1", 40,55, 230,30)
    GUISetControlEx ($timer, $i)

GUISetControlEx ($yes, 64)
GUISetControlEx ($no, 64)

$exlp = 0

While 1
$N=GuiMsg ()
$exlp = $exlp + 1
  Case $n = $yes
    Msgbox(0,0,"ok button has been pressed")

  Case $n = $no
    Msgbox(0,0,"EXIT button has been pressed")
        Exit (1)

sleep (100)


Thanks again

Edited by bijukon

Share this post

Link to post
Share on other sites

You have to put the progress-meter stuff in the same loop as GuiMsg().

Here's a rough script that might help you:

;Script generated by AutoBuilder 0.4

Opt("GUICoordMode", 1)
Opt("GUINotifyMode", 1)
GuiCreate("MyGUI", 392,273,(@DesktopWidth-392)/2, (@DesktopHeight-273)/2 , 0x04CF0000)

Dim $timeout = 10 ;progress meter complete in 10 seconds
Dim $percent

$progress_1 = GUISetControl("progress", "Progress 1", 70, 30, 220, 10)
$label_1 = GUISetControl("label", $timeout, 90, 5, 220, 20)
$button_1 = GUISetControl("button", "Pause", 40, 120, 100, 40)
$button_2 = GUISetControl("button", "Exit", 200, 120, 110, 40)


While 1
    If $percent >= 0 Then
       $percent = $percent + 0.1 * $timeout
       GUISetControlEx ($progress_1, $percent)
       GuiWrite($label_1, 0, (100 - $percent)/$timeout & " seconds remain...")

    $msg = GuiMsg(0)
    Case $msg = -3
    Case $msg = $button_1
        $percent = -1
    Case $msg = $button_2

Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig!

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.