In Taskleiste verstecken!

  • 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!

  • 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>
    HotKeySet("!m", "_minimize") ;Alt+m zum minimieren
    $gui = GUICreate('', 100, 100)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _minimize()
    GUISetState(@SW_MINIMIZE, $gui)
    EndFunc ;==>_minimize

    [/autoit]

    edit: Oder in den Tray minimieren?

    [autoit]

    Func _minimize()
    GUISetState(@SW_hide, $gui)
    TraySetState(1)
    EndFunc ;==>_minimize

    [/autoit]
  • 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>
    Opt("TrayMenuMode",1)

    [/autoit][autoit][/autoit][autoit]

    HotKeySet("!m", "_minimize") ;Alt+m zum minimieren
    $gui = GUICreate('', 100, 100)
    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    $minitem = TrayCreateItem("mini")
    $maxiitem = TrayCreateItem("max")
    $exititem = TrayCreateItem("exit")

    [/autoit][autoit][/autoit][autoit]

    TraySetState()

    [/autoit][autoit][/autoit][autoit]

    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $minitem
    _minimize()
    Case $msg = $maxiitem
    GUISetState(@SW_RESTORE , $gui)
    Case $msg = $exititem
    ExitLoop
    EndSelect
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _minimize()
    GUISetState(@SW_MINIMIZE, $gui)
    EndFunc ;==>_minimize

    [/autoit]

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • Ich habe hier auch noch eine Alternative ;)

    Spoiler anzeigen
    [autoit]

    #include<GUIConstantsEx.au3>
    #include <Constants.au3>
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Global 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
    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 gezeigt

    [/autoit] [autoit][/autoit] [autoit]

    If Not $fHideTray Then TraySetState(1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hGUI = GUICreate("My GUI")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Close") ; Wenn die GUI geschlossen wird, Funktion aufrufen
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "_Minimize") ; Wenn die GUI minimiert wird, Funktion aufrufen

    [/autoit] [autoit][/autoit] [autoit]

    TraySetOnEvent($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
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Close()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Minimize()
    GUISetState(@SW_MINIMIZE, $hGUI) ; minimieren
    GUISetState(@SW_HIDE, $hGUI) ;verstecken
    If $fHideTray Then TraySetState(1)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Restore()
    GUISetState(@SW_SHOW, $hGUI) ; zeigen
    GUISetState(@SW_RESTORE, $hGUI) ; wiederherstellen
    If $fHideTray Then TraySetState(2)
    EndFunc

    [/autoit]
  • 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!