Wie krieg es hin ein AutoIt Programm ins Traymenü zu kriegen und beim Doppelklick auf das Zeichen im Tray es wieder zu öffnen?
Prog ins Traymenü
-
- [ offen ]
-
CodaXYZ -
27. März 2011 um 15:18 -
Geschlossen -
Erledigt
-
-
Mit:
[autoit]TraySetOnEvent (-13, "function" )
[/autoit]Und halt entsprechende Funktion dan aufrufen die die GUI wieder auf show setzt.
-
Beispiel:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Constants.au3>Opt("TrayOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
Opt("TrayMenuMode", 1)$hWnd = GUICreate("Test", 400, 200)
[/autoit] [autoit][/autoit] [autoit]
GUISetState()$bHidden = False
[/autoit] [autoit][/autoit] [autoit]TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "_HideInTray")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While True
[/autoit] [autoit][/autoit] [autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndFunc _HideInTray()
[/autoit]
Switch $bHidden
Case False
GUISetState(@SW_HIDE, $hWnd)
$bHidden = True
Case True
GUISetState(@SW_SHOW, $hWnd)
$bHidden = False
EndSwitch
EndFunc -
Hab es jetzt so gemacht.So verschwindet es aber nur und kommt nicht wieder nachdem ich Doppelklicke auf das Tray-Symbol.
[autoit]
Wo liegt da der Fehler?
[/autoit][autoit][/autoit][autoit]
[...]
Case $Button3 ;tray
TraySetState ( 1 )
GUISetState ( @SW_HIDE )
TraySetOnEvent ( 13, "_show" )EndSwitch
[/autoit][autoit][/autoit][autoit]
WEndFunc _show ()
[/autoit]
GUISetState ( @SW_SHOW )
EndFunc -
-13 nicht 13
-
Geht trodzdem nicht

-
Wieso machst du es nicht einfach wie in meinem Beispiel? Und wieso hast du das in die MessageLoop reingepackt?