Windows-Tool, das Apps durch Schließen in den Infobereich minimiert?

TrayIt! kann Apps in die Taskleiste (Benachrichtigungsbereich) minimieren, aber es kann nicht dasselbe tun, wenn die Schaltfläche "Schließen" verwendet wird. Gibt es ein Tool, mit dem das Schließen einer App dazu führt, dass sie in den Benachrichtigungsbereich minimiert wird?

Antworten (1)

Dieses AutoHotKey-Skript bewirkt, dass das Klicken auf die Schaltfläche „Schließen“ das Fenster auf die Taskleiste minimiert. Zusammen mit TrayIt! minimiert der gesamte Prozess es in den Benachrichtigungsbereich.

#NoEnv
#SingleInstance Force

; Add the ahk_class of the windows you want  minimize by clicking on the close button in this array:
Classes := "Notepad,CabinetWClass,IEFrame" ; ...
Loop, parse, Classes, `,
    GroupAdd, GroupName, ahk_class %A_LoopField%

SetTimer CheckMouse, -300
return

CheckMouse:
    CoordMode, Mouse, Screen
    MouseGetPos, mX, mY, WindowUnderMouse
    WinGetPos, wX, wY, wW, wH, ahk_id %WindowUnderMouse%
        CloseButton := (mY > wY and mY < wY+50 and (mX > wX + (wW-50) and mX < wX+wW))
    SetTimer CheckMouse, -300
return

#If (CloseButton)

    ~LButton::
        MouseGetPos,,, WindowUnderMouse
        WinGetClass, Class, ahk_id %WindowUnderMouse%
        If Class in %Classes%
        {
            WinGet, id, ID, ahk_id %WindowUnderMouse%
            DISABLE_CloseButton(id)
            WinMinimize, ahk_id %WindowUnderMouse%
        }
    return


#If WinActive("ahk_group GroupName")

    !F4:: WinMinimize, A

#If ; turn off context sensitivity


DISABLE_CloseButton(id){ ;By RealityRipple at http://www.xtremevbtalk.com/archive/index.php/t-258725.html   
  menu:=DllCall("user32\GetSystemMenu","UInt",id,"UInt",0)
  DllCall("user32\DeleteMenu","UInt",menu,"UInt",0xF060,"UInt",0x0)
  WinGetPos,x,y,w,h,ahk_id %id%
  WinMove,ahk_id %id%,,%x%,%y%,%w%,% h-1
  WinMove,ahk_id %id%,,%x%,%y%,%w%,% h+1
}

ENABLE_CloseButton(id){ ;By Mosaic1 at http://www.xtremevbtalk.com/archive/index.php/t-258725.html  
  menu:=DllCall("user32\GetSystemMenu","UInt",id,"UInt",1)
  DllCall("user32\DrawMenuBar","UInt",id)
}

Der ursprüngliche Beitrag und die Erklärung, wie das Skript funktioniert, stammen aus diesem Stack Overflow-Beitrag: Wie minimiert man ein Fenster, indem man es schließt?

Leider funktioniert dies nicht mit ManicTime