Page 1 sur 1
[..] La deuxieme éxécution
Posté : jeu. 10 juin 2010 13:39
par Alexward
Bonjour à tous, j'ai un script que quand on le quitte , il est dans la barre des tâches.
En faite le GUI_Event_Close donne un GuiSetState(SW_hide) au Gui. Quand je fait ouvrir dans la barre des taches sa fait un GuiSetState(SW_SHOW).
Mon probleme est que si je réouvre mon script avec l'icone, il s'éxécute une deuxieme fois dans la barre des tâches. J'aimerais que si on clique une deuxieme fois sur l'icone de mon script, il ce fasse un GUiSetState(@SW_SHOW) au GUI et qu'il ne s'exécute pas une deuxième fois.
Merci
Re: [..] La deuxieme éxécution
Posté : jeu. 10 juin 2010 17:00
par jbnh
Salut,
voila ce que j'ai réussi à faire, adapte avec ta gui :
Code : Tout sélectionner
#include <GuiConstants.au3>
#include <Constants.au3>
#NoTrayIcon
Opt("TrayOnEventMode",1)
Opt("TrayMenuMode",1) ;Pause et exit ne seront pas affichés
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE,"SpecialEvent")
TraySetState()
GuiCreate("", 350, 260)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
GuiSetState(@SW_hide)
EndSelect
Wend
Func SpecialEvent()
Select
Case @TRAY_ID = $TRAY_EVENT_PRIMARYDOUBLE
GuiSetState(@SW_SHOW)
EndSelect
EndFunc
Re: [..] La deuxieme éxécution
Posté : jeu. 10 juin 2010 17:59
par Alexward
Merci beaucoup je vais pouvoir essayer sa après l'école. Donc comme sa mon script ne pourra pas s'éxécuter 2 fois ces bien sa

? Et si j'essais de l'éxécuter une 2e fois normalement le GUI serait suposer ouvrir grace au GUISetState(@SW_SHOW)

?
Merci
Re: [..] La deuxieme éxécution
Posté : jeu. 10 juin 2010 19:02
par jbnh
Ha non j'ai peut être pas très bien compris. Ce que je t'ai donné enfait, quand tu doubles clic sur l'icone dans la barre des taches, il ouvre la gui :
Code : Tout sélectionner
Func SpecialEvent()
Select
Case @TRAY_ID = $TRAY_EVENT_PRIMARYDOUBLE
GuiSetState(@SW_SHOW)
EndSelect
EndFunc
Mais tu peux moduler a ta facon. En fait je comprend pas bien ce que tu demandes :p
Re: [..] La deuxieme éxécution
Posté : jeu. 10 juin 2010 22:45
par Tlem
Pour éviter qu'un script ne soit lancé plusieurs fois, il faut utiliser la fonction _Singleton.