Fragt ab, ob ein Tray-Ereignis (Event) aufgetreten ist.
TrayGetMsg ( )
$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 |
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.
TrayCreateItem, TrayCreateMenu, TrayItemSetOnEvent
#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