AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Pb apres le traymenu [Resolu]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
auto
Membre


Nombre de messages : 39
Date d'inscription : 30/04/2007

MessageSujet: Pb apres le traymenu [Resolu]   2007-07-11, 18:00

voila ma question porte sur le tray menu

un exemple :

;je crée un traymenu dans la barre des taches
opt("traymenumode",1)
$Salut = TrayCreateItem ("Salut")

;je l'affiche
TraySetState ()


;ainsi que le bouton
while 1
$msg = TrayGetMsg ()
Select
case $msg = $Salut

EndSelect
WEnd


;mais comment lancer le bloc notes par la suite car meme si je rajoute
Run("Notepad.exe")
;il s'ouvre pas


Dernière édition par le 2007-07-13, 00:16, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Pb apres le traymenu [Resolu]   2007-07-11, 18:13

[color=#000090][b][i]opt([/i][/color][color=#9999cc]traymenumode"[/color][color=#ff0000],[/color][/b][color=#ac00a9][b][i]1[/i][/b][/color][b][color=#ff0000])
[/color][color=#aa0000]$Menu[/color][/b][color=#000000] [/color][color=#ff0000][b]=[/b][/color][color=#000000] [/color][b][i]TrayCreateMenu[/i][/b][color=#000000] [/color][color=#ff0000][b]([/b][/color][color=#9999cc][b]".."[/b][/color][b][color=#ff0000])
[/color][color=#aa0000]$Salut[/color][/b][color=#000000] [/color][color=#ff0000][b]=[/b][/color][color=#000000] [/color][b][i]TrayCreateItem[/i][/b][color=#000000] [/color][color=#ff0000][b]([/b][/color][b][color=#9999cc]"Salut"[/color][color=#ff0000],[/color][color=#aa0000]$Menu[/color][color=#ff0000])[/color][/b][color=#000000]
[/color][color=#aa0000][b]$Quitter[/b][/color][color=#000000] [/color][color=#ff0000][b]=[/b][/color][color=#000000] [/color][i][b]TrayCreateItem[/b][/i][b][color=#ff0000]([/color][color=#9999cc]"Quitter"[/color][color=#ff0000],[/color][color=#aa0000]$Menu[/color][/b][color=#ff0000][b])
[/b][/color][i][color=#009933];je l'affiche
[/color][b]TraySetState[/b][/i][color=#000000] [/color][color=#ff0000][b]()

[/b][/color][color=#009933][i];ainsi que le bouton
[/i][/color][color=#0000ff][b]while[/b][/color][color=#000000] [/color][b][color=#ac00a9][i]1
[/i][/color][color=#aa0000]$msg[/color][/b][color=#000000] [/color][color=#ff0000][b]=[/b][/color][color=#000000] [/color][b][i]TrayGetMsg[/i][/b][color=#000000] [/color][color=#ff0000][b]()
[/b][/color][color=#0000ff][b]Select
[/b][/color][color=#000000][/color][color=#0000ff][b]case[/b][/color][color=#000000] [/color][color=#aa0000][b]$msg[/b][/color][color=#000000] [/color][color=#ff0000][b]=[/b][/color][color=#000000] [/color][color=#aa0000][b]$Salut
[/b][/color][color=#000000][/color][b][i]run[/i][color=#ff0000]([/color][color=#9999cc]"notepad"[/color][/b][color=#ff0000][b])
[/b][/color][color=#000000][/color][color=#0000ff][b]case[/b][/color][color=#000000] [/color][color=#aa0000][b]$msg[/b][/color][color=#000000] [/color][color=#ff0000][b]=[/b][/color][color=#000000] [/color][color=#aa0000][b]$Quitter
[/b][/color][color=#000000][/color][color=#0000ff][b]exit
EndSelect
WEnd[/b][/color][color=#000000] [/color]
[color=#000000][/color]
tu avais juste oublié le menu de depart
j'ai rajouter le menu quitter sinon faudra passer par ctrl+break ou dans le tasklist et tuer le processus autoit3.exe
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
auto
Membre


Nombre de messages : 39
Date d'inscription : 30/04/2007

MessageSujet: Re: Pb apres le traymenu [Resolu]   2007-07-11, 22:34

ok ani
Ton exemple montre comment lancer le bloc note à partir du menu (en cliquant sur Salut).
Mais ce que je veux c'est lancer le bloc notes tout seul apres avoir afficher le traymenu.

Rmq :
Meme si on ajoute Run("Notepad.exe") a la fin du code il ne se lance pas !!!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Pb apres le traymenu [Resolu]   2007-07-11, 23:42

ok

donc pour lancer le notepad, faut l'indiquer juste en dessous de traysetstate()

opt("traymenumode",1)
$Menu = TrayCreateMenu ("..")
$Salut = TrayCreateItem ("Salut",$Menu)
$Quitter = TrayCreateItem("Quitter",$Menu)
;je l'affiche
TraySetState ()
run("notepad")
;ainsi que le bouton
while 1
$msg = TrayGetMsg ()
Select
case $msg = $Salut
run("notepad")
case $msg = $Quitter
exit
EndSelect
WEnd


il lancera le notepad directement au lancement du script si c'est bien cela que tu désire faire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
auto
Membre


Nombre de messages : 39
Date d'inscription : 30/04/2007

MessageSujet: Re: Pb apres le traymenu [Resolu]   2007-07-12, 00:47

ok merci ani ça marche
Maintenant au lieu de lancer le bloc notes je veux tester la presence du bloc notes et dans ce cas là j'utilise une boucle :

while 1
If WinExists("Sans titre") Then
ContinueLoop
Else
MsgBox(0,"test","Pas de bloc notes detecté")
TraySetState (2)

Exit
EndIf
WEnd

Donc a la place de "Run Notepad" je met ce qui ya ci-dessus
et donc bien sur il execute bien ce test mais comme c'est une boucle il reste dedans et n'arrive jamais à :


while 1
$msg = TrayGetMsg ()
Select
case $msg = $Salut
run("notepad")
case $msg = $Quitter
exit
EndSelect
WEnd

Ce qui veut dire que les boutton du traymenu n'ont pas de fonctions !!!


Y a t'il une solution ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Pb apres le traymenu [Resolu]   2007-07-12, 01:02

le mot magique : exitloop

[code]
opt("traymenumode",1)
$Menu = TrayCreateMenu ("..")
$Salut = TrayCreateItem ("Salut",$Menu)
$Quitter = TrayCreateItem("Quitter",$Menu)
;je l'affiche


while 1
if WinExists("Sans titre")=0 Then
TraySetState ()
while 1
$msg = TrayGetMsg ()
Select
case $msg = $Salut
run("notepad")
Sleep(500)
ExitLoop
case $msg = $Quitter
exit
EndSelect
WEnd
Else
TraySetState (2)
EndIf
WEnd
[/code]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
auto
Membre


Nombre de messages : 39
Date d'inscription : 30/04/2007

MessageSujet: Re: Pb apres le traymenu [Resolu]   2007-07-12, 15:24

ok sylvanie
mais pourquoi avec le code suivant ça marche pas :

;lancement du bloc notes
Run("notepad.exe")
WinWaitActive("Sans titre")


opt("traymenumode",1)

$Salut = TrayCreateItem ("Salut")
$Hello = TrayCreateItem ("Hello")
$Quitter = TrayCreateItem ("Quitter")


while 1
If WinExists("Sans titre") Then
TraySetState ()
while 1
$msg = TrayGetMsg ()
Select
case $msg = $Salut
MsgBox(0,"Salut","salut")
ExitLoop

case $msg = $Hello
MsgBox (0, "Hello" ,"Hello")
ExitLoop

case $msg = $Quitter
Exit

EndSelect
WEnd

Else
MsgBox(0,"test","Pas de bloc notes")
TraySetState (2)
Exit
EndIf
WEnd


Probleme:
Meme si on ferme le bloc notes manuellement la MsgBox(0,"test","Pas de bloc notes") ne s'affiche pas !!!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Pb apres le traymenu [Resolu]   2007-07-12, 22:46

Parce que tu n'as pas géré l'évènement de l'arrêt de notepad lorrsque tu es déjà dans ta boucle d'évènement du systray.
a la fin des différent cas salut, hello et quit, il faut tester si notepad est toujours vivant, et si ce n'est pas le cas, il faut sortir de la boucle, car elle n'a plus lieu d'être


While 1
$msg = TrayGetMsg()
Select
Case $msg = $Salut
MsgBox(0, "Salut", "salut")
ExitLoop

Case $msg = $Hello
MsgBox(0, "Hello", "Hello")
ExitLoop

Case $msg = $Quitter
Exit

EndSelect
[color=red]If not WinExists("Sans titre") Then ExitLoop[/color]
WEnd
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
auto
Membre


Nombre de messages : 39
Date d'inscription : 30/04/2007

MessageSujet: Re: Pb apres le traymenu [Resolu]   2007-07-13, 00:15

en effet
Merci Sylvanie pour ton aide ainsi que tes explications
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Pb apres le traymenu [Resolu]   Aujourd'hui à 10:43

Revenir en haut Aller en bas
 
Pb apres le traymenu [Resolu]
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Roll-over (Resolu)
» icone(RESOLU par Migau)
» probleme de connection apres telechargement d'un addon
» [RESOLU] MAJ 6.13 manque le fichier MSmain.msi
» URGENT Nuvi 250 apres une grose erreur :(

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: