Jump to content

GUISetOnEvent not working


JBX028
 Share

Recommended Posts

Hi,

I wrote the following script :

#include <GUIConstantsEx.au3>

Opt("WinTitleMatchMode", 2)
Opt("TrayAutoPause",0)
Opt("GUIOnEventMode", 1)  ; Change to OnEvent mode 
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetState()

$msg = 0

While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Sleep(1000)
Wend

Func _Exit()
    MsgBox(4096, "End", "End")
    Exit
Endfunc

But the messagebox is never displayed once i choosen "exit" in the tray.

Do you know what's wrong ?

Thanks in advance for your help

Johnny Baillargeaux

Link to comment
Share on other sites

Problems i can see are:

1. You havent got a gui to close?

2. you dont use the whole $msg thing when using Opt("GUIOnEventMode", 1)

So the while loop you have would be:

While 1

Sleep(100); or something like this sleep time

WEnd

If you want to close it by the tray you would have to use Opt("TrayOnEventMode", 1)

#include <GUIConstantsEx.au3>

Opt("WinTitleMatchMode", 2)
Opt("TrayMenuMode",1)
Opt("TrayOnEventMode",1)
Opt("GUIOnEventMode", 1)  ; dont think you need this if you dont have a GUI.
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") ;leave this out if you are not going to use a GUI

$exit = TrayCreateItem("Exit")
TrayItemSetOnEvent(-1,"_Exit")

GUISetState() ;again, you dont need this if youre not going to have a GUI

While 1
    Sleep(100)
WEnd

Func _Exit()
    MsgBox(4096, "End", "End")
    Exit
Endfunc
Edited by furrycow
Instant Lockerz Invite - www.instantlockerzinvite.co.uk
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...