Sign in to follow this  
Followers 0
Revolter

TraySetOnEvent [Solved]

7 posts in this topic

#1 ·  Posted (edited)

$mp3gui = GUICreate( "Mp3 Player v1.4" , 220 , 140 )
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_MINIMIZE
            Opt( "TrayOnEventMode" , 1 )
            GUISetState( @SW_HIDE , $mp3gui )
            TraySetOnEvent( $TRAY_EVENT_PRIMARYDOUBLE , "guirestore" )
            TraySetOnEvent( $TRAY_EVENT_PRIMARYUP , "pause" )
        EndSelect
WEnd

Func guirestore()
    GUISetState( @SW_SHOW , $mp3gui )
    Opt( "TrayOnEventMode" , 0 )
    SoundSetWaveVolume( 0 )
    pause()
    pause()
    SoundSetWaveVolume( $volume )
EndFunc

and the pause() func pauses the song

now if i double click the tray icon when the song is paused the gui shows up but i can hear the song for a couple of miliseconds. how could i make it not to do that?

Edited by Revolter

[center]Sorry for my bad english. Trying my best :Dhttp://iulianonofrei.comhttp://www.last.fm/user/Revolt666 [/center]

Share this post


Link to post
Share on other sites



Opt( "TrayOnEventMode" , 1 )

- usually sits on top of the script, one of the very first lines after #include

TraySetOnEvent( $TRAY_EVENT_PRIMARYDOUBLE , "guirestore" )

TraySetOnEvent( $TRAY_EVENT_PRIMARYUP , "pause" )

- these two it is recomended to be put in the main script (unless really needed otherwise) and not on the main loop.

Move their location according to what I told you and I'm pretty sure the problem will be solved.


SNMP_UDF ... for SNMPv1 and v2c so far, GetBulk and a new example script

wannabe "Unbeatable" Tic-Tac-Toe

Paper-Scissor-Rock ... try to beat it anyway :)

Share this post


Link to post
Share on other sites

Opt( "TrayOnEventMode" , 1 )

- usually sits on top of the script, one of the very first lines after #include

TraySetOnEvent( $TRAY_EVENT_PRIMARYDOUBLE , "guirestore" )

TraySetOnEvent( $TRAY_EVENT_PRIMARYUP , "pause" )

- these two it is recomended to be put in the main script (unless really needed otherwise) and not on the main loop.

Move their location according to what I told you and I'm pretty sure the problem will be solved.

sorry i forgot to tell ... i also use tray items so if i use Opt( "TrayOnEventMode" , 1 ) i can't receive msgs from the tray items thats why i disable and enable oneventmode option


[center]Sorry for my bad english. Trying my best :Dhttp://iulianonofrei.comhttp://www.last.fm/user/Revolt666 [/center]

Share this post


Link to post
Share on other sites

#include <GUIConstants.au3>
#include <Constants.au3>

Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1)

$mp3gui = GUICreate("Mp3 Player v1.4", 220, 140)
GUISetState(@SW_SHOW)
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_MINIMIZE
            GUISetState(@SW_HIDE, $mp3gui)
            TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "guirestore")
            TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "pause")
        Case $msg = $GUI_EVENT_CLOSE
            Exit
    EndSelect
WEnd

Func guirestore()
    GUISetState(@SW_SHOW, $mp3gui)
    Opt("TrayOnEventMode", 0)
;~  SoundSetWaveVolume(0)
;~  pause()
;~  pause()
;~  SoundSetWaveVolume($volume)
EndFunc   ;==>guirestore

Func pause()
    MsgBox(0, "", "Pause")
EndFunc

Please include all of your code, I'm sick of writing the rest of what you have missed out.

Share this post


Link to post
Share on other sites

#include <GUIConstants.au3>
#include <Constants.au3>

Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1)

$mp3gui = GUICreate("Mp3 Player v1.4", 220, 140)
GUISetState(@SW_SHOW)
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_MINIMIZE
            GUISetState(@SW_HIDE, $mp3gui)
            TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "guirestore")
            TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "pause")
        Case $msg = $GUI_EVENT_CLOSE
            Exit
    EndSelect
WEnd

Func guirestore()
    GUISetState(@SW_SHOW, $mp3gui)
    Opt("TrayOnEventMode", 0)
;~  SoundSetWaveVolume(0)
;~  pause()
;~  pause()
;~  SoundSetWaveVolume($volume)
EndFunc   ;==>guirestore

Func pause()
    MsgBox(0, "", "Pause")
EndFunc

Please include all of your code, I'm sick of writing the rest of what you have missed out.

the entire code has 700 lines :|

i also use "Opt( "TrayMenuMode" , 1 )" and a couple of "Case $msg=..." and if i use traysetonevent the other trayitems won't work ... anyway i used sleep( 200 ) in the pause function and it works ... thanks for all your help ! :graduated:


[center]Sorry for my bad english. Trying my best :Dhttp://iulianonofrei.comhttp://www.last.fm/user/Revolt666 [/center]

Share this post


Link to post
Share on other sites

the entire code has 700 lines :|

i also use "Opt( "TrayMenuMode" , 1 )" and a couple of "Case $msg=..." and if i use traysetonevent the other trayitems won't work ... anyway i used sleep( 200 ) in the pause function and it works ... thanks for all your help ! :graduated:

Well how about you make a cut down version that actually works. THIS MEANS INCLUDES TOO!

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  
Followers 0