[R] Menu Systray Grisé le Démarrer

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

[R] Menu Systray Grisé le Démarrer

#1

Message par C3D »

Bonjour,

Avec l'aide de quelques scripts que j'ai trouvé sur différents sites et forums j'ai plus ou moins réussis à faire ce que je voulais c'est à dire un exe a son lancement qui m'ouvre et démarre mes serveur via un batch.

Mon Problème :
Au lancement de mon exe tous fonctionne bien sauf que mon Démarrer est Normal et mon Arrêté est Grisé (pas cliquable) j'aimerai faire l'inverse (logique en même temps)

Voila le code de mon menu systray :
► Afficher le texte

J'en profite pour demandé aussi comment faire pour ajouté un texte sur la tranche du menu (Partie blanche a gauche du menu), j'ai trouvé pas mal de scripts mais impossible de l'ajouté sur celui-ci.


En vous remerciant pour votre aide.
Modifié en dernier par C3D le mar. 02 juin 2009 16:06, modifié 2 fois.
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: Menu Systray Grisé le Démarrer

#2

Message par jbnh »

Et les règles de présentation d'un message ? :P hein ?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: Menu Systray Grisé le Démarrer

#3

Message par C3D »

Oups désole pour l'oublie je corrige cela :)
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#4

Message par ani »

pour grisé le contrôle du menu systray

Code : Tout sélectionner

TrayItemSetState($Tray_ControlID,128) ; $TRAY_DISABLE
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#5

Message par C3D »

Merci mais comme la méthode posté sur le script original quand le Démarrer est grisé et que je clique sur Arrêter mon serveur s'arrête bien mais par contre le démarrer reste grisé donc obligé de relancer l'exe
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#6

Message par jumby »

Pour enlever le grisé du controle du menu systray :
TrayitemSetState($Tray_ControlID , 64)


Pour faire ce que tu souhaites :

Lorsque l'on clic sur le tray démarrer :

Code : Tout sélectionner

TrayItemSetState($mnuZMWSStart , 128) ; On désactive le menu démarrer
TrayitemSetState($mnuZMWSStop, 64)   ; On active le menu Arrêter
Lorsque l'on clic sur le tray arrêter :

Code : Tout sélectionner

TrayitemSetState($mnuZMWSStart, 64) ; On active le menu démarrer
TrayitemSetState($mnuZMWSStop, 128) ; On désactive le menu Arrêter
En intégrant ceci dans l'intégralité de ton script cela donne :
► Afficher le texte
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#7

Message par C3D »

Merci jumby j'essaye cela :)

EDITON :
J'ai essayé mais j'ai toujours le même résultat c'est a dire au lancement de l'exe le démarrer est bien grisé et pas l'arrêter, par contre après le lancement total de l'appli c'est l'inverse donc Démarrer Visible et Arrête (Grisé).
J'ai essayé pas mal de truc cette nuit et j'ai toujours le même résultat a ce demandé si c'est pas mes fichiers .bat qui foute le bordel non ?
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#8

Message par jumby »

J'ai testé ton script avec seulement l'affichage du systray. Cela marche nickel pour moi.

ça donne ceci lorsque l'on met que le systray. Constate par toi même l'effet désiré est là :
► Afficher le texte
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#9

Message par C3D »

Merci ,

Alors la cela ne me grise ni l'un ni l'autre par contre

PS: moi aussi l'autre fonctionne mais au bout de quelques secondes le temps que le bat se ferme il me grise le arrêter.
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#10

Message par jumby »

Alors j'ai trouvé ce qui posait le problème.
Dans ton script, il y a une fonction appelée UpdateMenu() dans laquelle il y a :

Code : Tout sélectionner

Func UpdateMenu()
   
    ; MAJ des menus selon ZMWS
    If ProcessExists($DPStart) Then
        TrayItemSetState($mnuZMWSStart, $TRAY_CHECKED + $TRAY_DISABLE)
        TrayItemSetState($mnuZMWSStop, $TRAY_ENABLE +  $TRAY_DEFAULT)
       
    Else
        TrayItemSetState($mnuZMWSStart, $TRAY_UNCHECKED + $TRAY_ENABLE +  $TRAY_DEFAULT)
        TrayItemSetState($mnuZMWSStop, $TRAY_DISABLE)
       
    EndIf
   
    ; MAJ des menus de la console
    ; Récupère l'état de la fenêtre de la console
    $state = WinGetState($DPStart, "")

    ; Test si fenêtre visible
    If BitAnd($state, 2) Then   ; 2 = Visible
   
    EndIf
EndFunc
 
Cette fonction modifie l'affichage des tray, à la condition que le processexist soit valide :
If ProcessExists($DPStart) Then

Or, au début du fichier, tu as défini la variable $DPStart comme ceci :
$DPStart = Run("serveurdp\Start.bat")

La fonction ProcessExists est donc jamais vraie, puisque tu n'as pas définit la variable $DPStart comme le nom du fichier (ne doitt pas contenir de répertoire). De plus, l'exécution de fichier .bat ne constitue pas de processus autre que 'cmd.exe'. Il est donc impossible de garder la fonction telle qu'elle en utilisant des fichiers .bat.

Je te propose donc de passer par la fonction UpdateMenu en la modifiant, dans ce cas ton script aura le code suivant :
► Afficher le texte
Cette proposition de modification a un défaut.
Le systray sera mis à jour même si l'exécution ne c'est pas faite correctement.
Si tu tiens vraiment à modifier ton systray lorsque l'exécution se fait correctement fait moi le savoir j'pourrais te modifier cela.
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#11

Message par C3D »

Merci à toi j'avoue que je doit analysé ton post pour comprendre tous cela lol

Apparemment entre deux rouleaux de peinture le système fonctionne il y a juste le démarré qui ne fait pas l'action start.bat mais cela ne doit être rien je fait regardé cela, par contre par défaut donc dès que je le lance le exe, les deux sont Normal (Démarrer et Arrêté) par contre si je fait Arrêté le serveur s'arrête bien et le Démarrer est grisé et idem si j'appuie sur démarrer l'arrêté est grisé

Je te remercie beaucoup je vais finir ma peinture et regardé cela pour comprendre et réparé le bug du démarrer :)

Je te tient au courant :)


EDITION:
Concernant le bug du démarré sans l'action start.bat j'ai changé cela :

Code : Tout sélectionner

Func ZMWSStart()
Run($DPStart & " " & $ZMWSCmdLineStart)
EndFunc

EN

Code : Tout sélectionner

Func ZMWSStart()
Run("serveurdp\Start.bat")
EndFunc
Et cela fonctionne bien apparemment :) reste le Démarrer par défaut a grisé
Encore merci
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#12

Message par jumby »

Essai ceci :
► Afficher le texte
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#13

Message par C3D »

Des petites captures pour mieux comprendre :

Au lancement de mon exe :
Image

J'appuie sur Arrêté :
Image

J'appuie sur Démarrer :
Image
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#14

Message par C3D »

jumby : Rapide toi je t'en remercie, ton nouveau code me fait l'inverse donc le Arrêté en grisé lol décidément
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#15

Message par jumby »

Et là ? ^^
► Afficher le texte
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#16

Message par C3D »

Ha ba la j'ai une erreur direct sans lancement
TrayItemSetState($$mnuZMWSStart, $TRAY_DISABLE)
TrayItemSetState(^ ERROR
>Exit code: 1 Time: 0.220
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#17

Message par jumby »

Erreur de syntaxe désolé. Décidément j'fais que de la ***** :

TrayItemSetState($mnuZMWSStart, $TRAY_DISABLE)
► Afficher le texte
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#18

Message par C3D »

Zenn t'inquiète pas c'est pas moi qui va te dire quelque chose pour une erreur vu ce que tu fait pour moi :)

Par contre le dernier aussi :

Code : Tout sélectionner

TrayItemSetState($$mnuZMWSStart, $TRAY_DISABLE) 
TrayItemSetState(^ ERROR
>Exit code: 1    Time: 0.212
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#19

Message par C3D »

Non c'est bon juste que j'ai recopier le spoiler lol

C'est bon sa fonctionne niquel la :) Je te remercie énormément :)
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Avatar du membre
C3D
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 28 mai 2009 20:44
Status : Hors ligne

Re: [..] Menu Systray Grisé le Démarrer

#20

Message par C3D »

Dit moi j'en profite aussi pour ma seconde question avec un tel code est ce laborieux de rajouter un texte comme sur la capture ci dessous ou c'est juste une ligne ??

Image
.:: Pas bon concernant AutoIT mais je me débrouille avec Photoshop donc si vous voulez un quelque chose :) (MP) ::..
Répondre