HEy wie kann man es machen das wenn der User eine Taste drückt ,das Autoit script sich in der Taskleiste klein macht aalso nicht mehr als Fenster existiert!
In Taskleiste verstecken!
-
- [ offen ]
-
WOnder -
3. November 2010 um 21:04 -
Geschlossen -
Erledigt
-
-
Hi, da du neu bist, müssen deine Themen erst freigschaltet werden.
Es bringt also nichts, wenn du mehrere Themen mit dem gleichen Inhalt startest (Das ist eher nachteilig, da das dann als etwas aufdringlich empfunden werden kann) -
"Alt+m"
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("!m", "_minimize") ;Alt+m zum minimieren
$gui = GUICreate('', 100, 100)
GUISetState()While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEndFunc _minimize()
[/autoit]
GUISetState(@SW_MINIMIZE, $gui)
EndFunc ;==>_minimizeedit: Oder in den Tray minimieren?
[autoit]Func _minimize()
[/autoit]
GUISetState(@SW_hide, $gui)
TraySetState(1)
EndFunc ;==>_minimize -
Ok was ist in den Tray minimieren??
also
GUISetState(@SW_hide, $gui)
TraySetState(1)funktioniert aber ich hätte es gern so das wenn man auf das Symbol unten rechts klickt das das Fenster sich dann wieder öffnet!
-
zum weiterverfeinern
[autoit]#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit]
Opt("TrayMenuMode",1)HotKeySet("!m", "_minimize") ;Alt+m zum minimieren
[/autoit][autoit][/autoit][autoit]
$gui = GUICreate('', 100, 100)
GUISetState()$minitem = TrayCreateItem("mini")
[/autoit][autoit][/autoit][autoit]
$maxiitem = TrayCreateItem("max")
$exititem = TrayCreateItem("exit")TraySetState()
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $minitem
_minimize()
Case $msg = $maxiitem
GUISetState(@SW_RESTORE , $gui)
Case $msg = $exititem
ExitLoop
EndSelect
WEndFunc _minimize()
[/autoit]
GUISetState(@SW_MINIMIZE, $gui)
EndFunc ;==>_minimize -
Ich habe hier auch noch eine Alternative
Spoiler anzeigen
[autoit]#include<GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <Constants.au3>
#NoTrayIconGlobal Const $fHideTray = True ; Soll das Trayicon versteckt werden, wenn die GUI angezeigt wird?
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1) ; Events für GUI statt GUIGetMsg
[/autoit] [autoit][/autoit] [autoit]
Opt("TrayOnEventMode", 1) ; Events für Tray statt TrayGetMsg
Opt("TrayAutoPause", 0) ; Klick auf TrayIcon pausiert das Skript nicht
TraySetClick(8) ; Das Traymenü wird nur bei Rechtsklick gezeigtIf Not $fHideTray Then TraySetState(1)
[/autoit] [autoit][/autoit] [autoit]Global $hGUI = GUICreate("My GUI")
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_Close") ; Wenn die GUI geschlossen wird, Funktion aufrufen
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_Minimize") ; Wenn die GUI minimiert wird, Funktion aufrufenTraySetOnEvent($TRAY_EVENT_PRIMARYUP, "_Restore") ; Wenn di Linke Maustaste auf dem Trayicon losgelassen wird, rufe Funktion auf
[/autoit] [autoit][/autoit] [autoit]GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _Minimize()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_MINIMIZE, $hGUI) ; minimieren
GUISetState(@SW_HIDE, $hGUI) ;verstecken
If $fHideTray Then TraySetState(1)
EndFuncFunc _Restore()
[/autoit]
GUISetState(@SW_SHOW, $hGUI) ; zeigen
GUISetState(@SW_RESTORE, $hGUI) ; wiederherstellen
If $fHideTray Then TraySetState(2)
EndFunc -
jap das ist es dankschön!!
-
OK habe jetzt ein neues Problem ,ich hab 2 Items drinn (Wiederherstellen &Beenden)Wenn ich auf Wiederherstellen klicke ,wird das Fenster wiederhergestellt .Wenn ich dann wieder minimiere und jetzt nochmal rechtsklick auf das Icon mache steht da Wiederherstellen Beenden Wiederherstellen Beenden also 2maL zu viel!!!
-
Du solltest das Traymenü nur 1x am Amfang erstellen. Es wird beim Ausblenden des Icons NICHT zerstört.
-
Was soll "am Anfang" heißen ? Also man drrgckt auf eine Taste und dann sollte das fenster weg sein (nur als Icon in der Symbolbar unten rechts).Wenn man das fenster wiederhaben will drergckt man auf das Symbol!