[R] Création menu du tray

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
AlbatorV
Niveau 2
Niveau 2
Messages : 23
Enregistré le : mer. 05 nov. 2008 11:38
Status : Hors ligne

[R] Création menu du tray

#1

Message par AlbatorV »

Bonjour à tous,
j'ai besoin de votre aide pour la création de menu sur clic sur l'icone du tray.
J'ai un script qui tourne en boucle et qui déclanche une action sur activation d'une fenêtre.

Je voudrais créer un item dans le menu pour ajouter un raccourci dans le menu de demarrage automatique @StartupDir. Si l'item est cochée le raccourci est déjà créé, sinon creation du raccourci.

1) Est il possible de créer un item que l'on peut activer/desactiver (comme l'item pour mettre en pause). J'ai trouvé dans l'aide pour créer un item radio mais pas pour cocher/decocher.
2) Mon script est dèjà dans une boucle While-Wend et j'ai vu dans l'aide que le menu du tray dois l'être également. Ou dois-je mettre mon script ?

Script de création d'item pris dans l'aide

Code : Tout sélectionner

#Include <Constants.au3>
#NoTrayIcon

Opt("TrayMenuMode",1)   ; Default tray menu items (Script Paused/Exit) will not be shown.

$prefsitem  = TrayCreateItem("Démarrer avec windows")
TrayCreateItem("")
$exititem   = TrayCreateItem("Exit")

TraySetState()

While 1
    $msg = TrayGetMsg()
    Select
        Case $msg = 0
            ContinueLoop
        Case $msg = $prefsitem
            FileCreateShortcut(@ScriptFullPath, @StartupDir & "\Calculette script.lnk")
        Case $msg = $exititem
            ExitLoop
    EndSelect
WEnd
Mon script

Code : Tout sélectionner

While 1
    WinWaitActive("Calculatrice")
    If msgbox(0,"Fenêtre activée","Minimisation de la fenêtre") Then
        WinSetState("Calculatrice", "", @SW_MINIMIZE)
        ContinueLoop
    EndIf
WEnd
Merci d'avance
Modifié en dernier par AlbatorV le mar. 18 nov. 2008 10:32, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Création menu du tray

#2

Message par Tlem »

Ceci devrait convenir :

Code : Tout sélectionner

#include <Constants.au3>

AdlibEnable("_MinimizeCalc",1000)
Opt("TrayMenuMode", 3)

$checkeditem = TrayCreateItem("Démarrage Automatique")
$create_blank = TrayCreateItem("")
$exit = TrayCreateItem("Sortie")

If FileExists(@StartupDir & "\Calculette script.lnk") Then TrayItemSetState($checkeditem, $TRAY_CHECKED)

TraySetState()

While 1
    $msg = TrayGetMsg()
    Select
        Case $msg = 0
            ContinueLoop
            
        Case $msg = $checkeditem
            If BitAND(TrayItemGetState($checkeditem), $TRAY_CHECKED) = 1 Then
                TrayItemSetState($checkeditem, $TRAY_UNCHECKED)
                FileDelete(@StartupDir & "\Calculette script.lnk")

            Else
                TrayItemSetState($checkeditem, $TRAY_CHECKED)
                FileCreateShortcut(@ScriptFullPath, @StartupDir & "\Calculette script.lnk")

            EndIf

        Case $msg = $exit
            ExitLoop
            
    EndSelect
WEnd

Func _MinimizeCalc()
    If WinActive("Calculatrice") Then
        WinSetState("Calculatrice", "", @SW_MINIMIZE)
        AdlibDisable() ; Permet de désactiver la réduction (sinon sa va être dure d'utiliser la calculette)
    EndIf
EndFunc
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
AlbatorV
Niveau 2
Niveau 2
Messages : 23
Enregistré le : mer. 05 nov. 2008 11:38
Status : Hors ligne

Re: [..] Création menu du tray

#3

Message par AlbatorV »

Excellent !!! Merci beaucoup...
Derniere ptite question... ou mettre mon code ?

Code : Tout sélectionner

While 1
    WinWaitActive("Calculatrice")
    If msgbox(0,"Fenêtre activée","Minimisation de la fenêtre") Then
        WinSetState("Calculatrice", "", @SW_MINIMIZE)
        ContinueLoop
    EndIf
WEnd
Si je le mets a la suite, les items ne fonctionnent plus :(
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Création menu du tray

#4

Message par Tlem »

J'ai édité mon script précédent pour répondre à votre question.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
AlbatorV
Niveau 2
Niveau 2
Messages : 23
Enregistré le : mer. 05 nov. 2008 11:38
Status : Hors ligne

Re: [..] Création menu du tray

#5

Message par AlbatorV »

Merci, c'est parfait...
J'adore Autoit... :D
Répondre