Definiert eine Benutzerfunktion, welche aufgerufen werden soll, wenn eine besondere Trayaktion passiert.
TraySetOnEvent ( specialID, "function" )
specialID | Siehe Spezielle ID Tabelle im Folgenden. |
function | Der Name der aufzurufenden Funktion. |
Erfolg: | 1. |
Fehler: | 0. |
@error: | 1 = "function" ist nicht definiert. |
OnEvent Funktionen werden nur aufgerufen, wenn die Opt("TrayOnEventMode", 1). In diesem Modus wird TrayGetMsg() überhaupt nicht verwendet.
Spezielle ID Tabelle
Spezielle Id | Wert | Kommentar |
---|---|---|
$TRAY_EVENT_SHOWICON | -3 | Das Trayicon wird gezeigt. |
$TRAY_EVENT_HIDEICON | -4 | Das Trayicon wird versteckt. |
$TRAY_EVENT_FLASHICON | -5 | Der Benutzer schaltet das Blinken des Trayicons ein. |
$TRAY_EVENT_NOFLASHICON | -6 | Der Benutzer schaltet das Blinken des Trayicons aus. |
$TRAY_EVENT_PRIMARYDOWN | -7 | Die erste Maustaste wurde über dem Trayicon gedrückt. |
$TRAY_EVENT_PRIMARYUP | -8 | Die erste Maustaste wurde über dem Trayicon losgelassen. |
$TRAY_EVENT_SECONDARYDOWN | -9 | Die zweite Maustaste wurde über dem Trayicon gedrückt. |
$TRAY_EVENT_SECONDARYUP | -10 | Die zweite Maustaste wurde über dem Trayicon losgelassen. |
$TRAY_EVENT_MOUSEOVER | -11 | Die Maus bewegt sich über das Trayicon. |
$TRAY_EVENT_PRIMARYDOUBLE | -13 | Die erste Maustaste wurde über dem Trayicon doppelgeklickt. |
$TRAY_EVENT_SECONDARYDOUBLE | -14 | Die zweite Maustaste wurde über dem Trayicon doppelgeklickt. |
TrayItemSetOnEvent, TrayOnEventMode (Option), TraySetClick
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3> ; wird für die $TRAY_EVENT_PRIMARYDOUBLE, $TRAY_EVENT_SECONDARYUP und $TRAY_ICONSTATE_SHOW Konstanten 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.
Opt("TrayOnEventMode", 1) ; Aktiviert TrayOnEventMode.
Example()
Func Example()
TrayCreateItem("Über")
TrayCreateItem("") ; Erzeugt einen Trennstrich.
TrayCreateItem("Beenden")
TrayItemSetOnEvent(-1, "ExitScript")
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayEvent")
TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "TrayEvent")
TraySetState($TRAY_ICONSTATE_SHOW) ; Zeigt das Traymenü.
While 1
Sleep(100) ; CPU-Last verhindern
WEnd
EndFunc ;==>Example
Func TrayEvent()
Switch @TRAY_ID ; Prüft die letzt Trayitem-ID.
Case $TRAY_EVENT_PRIMARYDOUBLE
; 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 $TRAY_EVENT_SECONDARYUP
MsgBox($MB_SYSTEMMODAL, "", "Die rechte Maustaste wurde über dem Trayicon losgelassen.")
EndSwitch
EndFunc ;==>TrayEvent
Func ExitScript()
Exit
EndFunc ;==>ExitScript