Autohotkey:失去焦点时自动最小化程序

Autohotkey: Auto minimize a program when it loses focus

我正在使用以下 Autohotkey 脚本 win Win 10 在失去焦点时自动最小化程序,但它仍然会最小化整个程序 window 即使我在其中打开子菜单或弹出选项同一个程序。那么我怎样才能尊重那个程序中的所有 child windows 呢?或执行此操作的任何其他脚本。

#NoEnv
#Warn
var := true
SetTimer, subroutine, -1
return

subroutine:
WinWaitNotActive, ahk_exe word.exe
sleep, 2000     
if (var) {
    WinMinimize
    SetTimer, subroutine, -1
}
return

!t::SetTimer, subroutine, % (var:=not var) ? -1 : "Off" 
!x::ExitApp ; ALT+X terminates the script
; autohotkey v1
#NoEnv
#Warn
#Persistent
SetTimer, subroutine, 5000

subroutine()
{
    If WinActive("ahk_class Notepad++")
    {
        ToolTip, "notepad++ active"
    }
    else
    {
        WinMinimize, ahk_class Notepad++
        ToolTip, "notepad++ not active auto minimize after 5 second"
    }
}

; autohotkey v2
SetTimer "subroutine", 5000

subroutine()
{
    If WinActive("ahk_class Notepad++")
    {
        ToolTip "notepad++ active"
    }
    else
    {
        WinMinimize "ahk_class Notepad++"
        ToolTip "notepad++ not active auto minimize after a while"
    }
}