Minimiertes Fenster als TryIcon

    • Offizieller Beitrag

    Meinst Du sowas:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    Opt('TrayMenuMode', 1) ; Tray-Standardmenü ausschalten
    Opt('TrayAutoPause', 0) ; AutoPause ausschalten
    Global $TrayShow = TrayCreateItem('Test anzeigen') ; Tray-Menü erstellen
    Global $TrayExit = TrayCreateItem('Beenden') ; Tray-Menü erstellen
    Global $GUI = GUICreate('Test', 640, 180, -1, -1) ; Fenster erstellen
    GUISetState() ; GUI-Fenster anzeigen
    While 1 ; MessageLoop-Schleife
    Switch GUIGetMsg() ; Anhand des eingetretenen GUI-Ereignisses die entsprechenden Befehle ausführen
    Case $GUI_EVENT_MINIMIZE ; Benutzer hat auf Minimieren geklickt
    Opt('TrayIconHide', 0) ; Tray-Menü anzeigen
    TraySetIcon(@SystemDir & '\shell32.dll', -24) ; Icon für Tray-Menü setzen
    GUISetState(@SW_HIDE, $GUI) ; Fenster verstecken
    While 2 ; Tray-Menü-Schleife
    Switch TrayGetMsg() ; Anhand des eingetretenen Tray-Ereignisses die entsprechenden Befehle ausführen
    Case $TrayShow ; wurde 'Anzeigen' aufgerufen, dann...
    Opt('TrayIconHide', 1) ; Tray-Menü wieder verstecken
    GUISetState(@SW_SHOW, $GUI) ; Fenster anzeigen
    GUISetState(@SW_RESTORE, $GUI) ; und wiederherstellen (minimieren rückgängig machen)
    ExitLoop ; Tray-Menü-Schleife verlassen
    Case $TrayExit ; Benutzer hat 'Beenden' ausgewählt
    Exit ; Programm beenden
    EndSwitch
    WEnd
    Case $GUI_EVENT_CLOSE ; Benutzer hat auf 'X' geklickt oder 'ESC' gedrückt
    Exit ; Programm beenden
    EndSwitch
    Wend

    [/autoit]
  • Hallo Oscar,

    Danke für Dein Script, wenn ich das auf alle Programme anwenden könnte, wäre das SUPER. Ich suche aber doch eine Möglichkeit das mit jedem Programm zu machen...

    Hat noch jemand eine Idee wie man das mit AutoIT ermöglichen könnte?

    Viele Grüße

    SEIWA

  • ich würde einfach wenn es minimiert wird undichtbar machen und dann isses nur noch im tray vorausgesetzt es gibt das event minimize.
    ich glaub das iss wohl die einfachste methode.

    kannst dich ja ma dransetzen das krichste schon hin und sonzt gibts ja noch das forun :D

  • Hi,
    so mach ichs oft

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #include <guiconstants.au3>
    Opt("TrayMenuMode",1)
    $Gui = GuiCreate("Bla Bla Bla",500,500)
    GuiSetState()

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

    while 1
    Switch GuiGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_MINIMIZE
    Opt("TrayIconHide",0)
    GuiSetState(@SW_HIDE)
    EndSwitch
    Switch TrayGetMsg()
    Case $TRAY_EVENT_PRIMARYDOUBLE
    Opt("TrayIconHide",1)
    GuiSetState(@SW_SHOW)
    EndSwitch
    WEnd

    [/autoit]