Functions > Tray >


TrayGetMsg

Interroge la zone de notification pour savoir si des événements ont été déclenchés.

TrayGetMsg ( )

Valeur de retour

Retourne un événement.
L'événement retourné est l'ID du contrôle qui a envoyé le message, ou il s'agit d'un événement spécial (comme le clic de la souris sur l'icône de la zone de notification). Ou s'il n'y a pas de message, l'événement est 0.


IDs d'événements
$TRAY_EVENT_NONE (0): Aucun évènement
Control ID: ID du contrôle qui a envoyé le message
$TRAY_EVENT_PRIMARYDOWN: Le bouton principal de la souris a été pressé
$TRAY_EVENT_PRIMARYUP: Le bouton principal de la souris a été relâché
$TRAY_EVENT_SECONDARYDOWN: Le bouton secondaire de la souris a été pressé
$TRAY_EVENT_SECONDARYUP: le bouton secondaire de la souris a été relâché
$TRAY_EVENT_PRIMARYDOUBLE: le bouton principal de la souris a été pressé deux fois
$TRAY_EVENT_SECONDARYDOUBLE: le bouton secondaire de la souris a été pressé deux fois

Les constantes sont définies dans "TrayConstants.au3"

Remarques

Cette fonction ralentit automatiquement lorsque le CPU en a besoin, de façon qu'elle puisse être utilisée en toute sécurité dans des boucles courtes sans monopoliser tout le CPU.

En relation

TrayCreateItem, TrayCreateMenu, TrayItemSetOnEvent

Exemple

#NoTrayIcon
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; Required for the $TRAY_ICONSTATE_SHOW constant.

; Les items du menu par défaut de la zone de notification ne seront pas affichés et 
; les items ne seront pas cochés lorsqu'ils seront  sélectionnés. 
; Ce sont les options 1 et 2 de TrayMenuMode.
Opt("TrayMenuMode", 3)

Example()

Func Example()
    Local $idAbout = TrayCreateItem("About")
    TrayCreateItem("") ; Crée une ligne de séparation.

    Local $idExit = TrayCreateItem("Exit")

    TraySetState($TRAY_ICONSTATE_SHOW) ; Affiche le menu dans la zone de notification.

    Local $iASlash, $sPath, $iMsg = TrayGetMsg()
    While $iMsg <> $idExit
        If $iMsg = $idAbout Then 
            ; Affiche une boîte de message à propos de la version et 
            ; du chemin d'installation de l'exécutable AutoIt.

            ; Recherche de droite à gauche l'antislash qui marque la fin du chemin
            $iASlash = StringInStr(@AutoItExe, "\", $STR_NOCASESENSEBASIC, -1)
            ; Extrait le chemin seul, sans le nom, ni '\'
            $sPath = StringLeft(@AutoItExe, $iASlash - 1)

            MsgBox($MB_SYSTEMMODAL, "", "Exemple de menu de la zone de notification." & @CRLF & @CRLF & _
                "Version: " & @AutoItVersion & @CRLF & _
                "Chemin d'installation: " & $sPath) 
        EndIf          

        $iMsg = TrayGetMsg()
    WEnd 
EndFunc   ;==>Example