Skip to the content.

返回主页

关闭其他

动作编号: 1325
动作名称: 关闭其他
动作作用的对象: 任意窗口
动作热键: 无
动作鼠标手势: 无
动作说明: 关闭除当前窗口外的同进程名的所有其他窗口(拥有标题栏和最大化按钮的窗口)
动作截图: 无
动作内容: run|”%B_Autohotkey%” “%A_ScriptDir%\外部脚本\窗口处理\关闭同进程所有其他窗口.ahk”
执行外部脚本文件 “关闭同进程所有其他窗口.ahk”, ATA 内置动作

代码或详细解释:
执行动作, 关闭除当前窗口外的同进程名的所有其他窗口(拥有标题栏和最大化按钮的窗口).

Windy_CurWin_id := A_Args[1]
if !Windy_CurWin_id
{
	DetectHiddenWindows, On
	WinGetTitle, h_hwnd, 获取当前窗口信息 ;ahk_class AutoHotkeyGUI
	Windy_CurWin_id := StrReplace(h_hwnd, "获取当前窗口信息_")
	DetectHiddenWindows, Off
}

WinGet, Windy_CurWin_Fullpath, ProcessPath, Ahk_ID %Windy_CurWin_id%           ;  当前窗口的进程路径
SplitPath, Windy_CurWin_Fullpath, Windy_CurWin_ProcName, Windy_CurWin_ParentPath,, Windy_CurWin_ProcNameNoExt
WinGet, OutWinidList, List, % "ahk_exe " Windy_CurWin_ProcName
loop %OutWinidList%
{
	id := OutWinidList%A_Index%
	WinGet, style, style, ahk_id %id%
	if !(style & 0xC00000) or !(Style & 0x10000)
		continue
	if (id != Windy_CurWin_id)
		WinClose, % "ahk_id " id
}
exitapp