WinKill

强制关闭指定的窗口.

WinKill WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText

参数

WinTitle

类型: 字符串, 整数对象

识别目标窗口的窗口标题或其他条件. 请参阅 WinTitle.

WinText

类型: 字符串

如果存在, 此参数必须是目标窗口的单个文本元素的子字符串(和内置的 Window Spy 工具显示的一样). 如果 DetectHiddenText 为 ON, 那么会检测隐藏文本元素.

SecondsToWait

类型: 整数浮点数

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

ExcludeTitle

类型: 字符串

标题中含有此参数值的窗口将被排除.

ExcludeText

类型: 字符串

文本中含有此参数值的窗口将被排除.

错误处理

如果找不到窗口, 则抛出 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