Funktionreferenz


TrayGetMsg

Beschreibung anzeigen in

Fragt ab, ob ein Tray-Ereignis (Event) aufgetreten ist.

TrayGetMsg ( )

Rückgabewert

Gibt das Ereignis zurück.

Das "Ereignis", das zurückgegeben wird, ist die Control-ID des Controls, das die Nachricht sendet, oder es ist ein spezielles Ereignis (wie wenn die Maus auf das Tray-Icon klickt).
Wenn keine Nachricht vorhanden ist, wird 0 als Ereignis zurückgegeben.

Event IDs
$TRAY_EVENT_NONE (0): kein Vorgang
Control ID: die ID des Controls gibt eine Nachricht aus
$TRAY_EVENT_PRIMARYDOWN: die erste (linke) Maustaste wurde gedrückt
$TRAY_EVENT_PRIMARYUP: die erste (linke) Maustaste wurde losgelassen
$TRAY_EVENT_SECONDARYDOWN: die zweite (rechte) Maustaste wurde gedrückt
$TRAY_EVENT_SECONDARYUP: die zweite (rechte) Maustaste wurde losgelassen
$TRAY_EVENT_PRIMARYDOUBLE: die erste (linke) Maustaste wurde doppelgeklickt
$TRAY_EVENT_SECONDARYDOUBLE: die zweite (rechte) Maustaste wurde doppelgeklickt

Die Konstanten sind in TrayConstants.au3 definiert

Bemerkungen

Diese Funktion gibt die CPU automatisch wieder frei, wenn es erforderlich ist, so dass sie in Nachrichtenschleifen (message loops) sicher benutzt werden kann, ohne dass die CPU von der Schleife komplett ausgelastet wird.

Verwandte Funktionen

TrayCreateItem, TrayCreateMenu, TrayItemSetOnEvent

Beispiel

#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; wird für die $TRAY_ICONSTATE_SHOW Konstante benötigt.

#NoTrayIcon

Opt("TrayMenuMode", 3) ; Die Standard Traymenüeinträge (Skript pausieren/beenden) werden nicht angezeigt und die Items werden nicht angehakt wenn diese ausgewählt werden. Verwendet wurden die Optionen 1 und 2 für TrayMenuMode.

Example()

Func Example()
    Local $idAbout = TrayCreateItem("Über")
    TrayCreateItem("") ; Erzeugt einen Trennstrich.

    Local $idExit = TrayCreateItem("Exit")

    TraySetState($TRAY_ICONSTATE_SHOW) ; Zeigt das Traymenü.

    While 1
        Switch TrayGetMsg()
            Case $idAbout ; Zeigt ein Nachrichtenfenster mit der AutoIt Version und dem Installationspfad der AutoIt Startdatei.
                MsgBox($MB_SYSTEMMODAL, "", "AutoIt Traymenü Beispiel." & @CRLF & @CRLF & _
                        "Version: " & @AutoItVersion & @CRLF & _
                        "Installationspfad: " & StringLeft(@AutoItExe, StringInStr(@AutoItExe, "\", $STR_NOCASESENSEBASIC, -1) - 1)) ; Ermittelt den Ordner eines kompletten Pfads.

            Case $idExit ; Beendet die Schleife.
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Example