WinKill

强制关闭指定的窗口.

WinKill WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText

参数

WinTitle, WinText, ExcludeTitle, ExcludeText

类型: 字符串, 整数对象

如果这些都未设置或省略, 将使用上次找到的窗口. 否则, 为 WinTitle 指定窗口标题或其他条件, 来标识目标窗口, 和/或为 WinText 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示). 如果 DetectHiddenText 已经打开, 则检测隐藏文本元素. 标题或文本包含 ExcludeTitleExcludeText 的窗口将不被考虑.

SecondsToWait

类型: 整数浮点数

如果省略或为空, 此函数不会等待. 如果为 0, 则它会等待 500 ms. 否则, 它会等待指定的秒数(可以为小数或表达式) 来让窗口关闭. 如果窗口在此期间没有关闭, 那么脚本会继续执行.

错误处理

如果找不到窗口, 则抛出 TargetError, 除非使用了 group 模式.

如果找到了一个窗口但无法关闭, 则不会抛出异常, 因此, 如果你需要确定窗口已经关闭, 请使用 WinExistWinWaitClose.

备注

此函数首先会用短暂的时间尝试正常地关闭窗口. 如果失败, 那么它会尝试终止窗口进程来强制关闭窗口.

如果匹配窗口是活动的, 那么会优先关闭此窗口而不是其他匹配窗口. 一般而言, 如果有多个匹配窗口, 那么会关闭最上面的(最近使用的) 窗口.

此函数仅对单一窗口起作用, 除非 WinTitleahk_group GroupName, 在这种情况下, 组中的所有窗口均会受到影响.

窗口标题和文本是区分大小写的. 除非 DetectHiddenWindows 被打开, 否则不会检测隐藏窗口.

WinClose, WinWaitClose, ProcessClose, WinActivate, SetTitleMatchMode, DetectHiddenWindows, Last Found Window, WinExist, WinActive, WinWaitActive, WinWait, GroupActivate

示例

如果记事本确实存在, 强制关闭它, 否则强制关闭计算器.

if WinExist("Untitled - Notepad")
    WinKill ; 使用由 WinExist 找到的窗口
else
    WinKill "Calculator"
unixetc