跳转至

关闭窗口与关闭进程

两个节点都位于 Shift+A → 施工中,常用于自动化收尾时关掉游戏或工具。

关闭窗口

类型 ID:event.close_window。向所有符合条件的窗口发送关闭请求(等同点击各窗口的关闭按钮,属于礼貌关闭,对方可以弹确认或拒绝)。

方向 端口 类型 说明
输入 0 执行 执行 到达后执行关闭。
输入 1 目标 字符串 window: 目标描述,写法见目标描述;连线优先。
输出 0 执行 执行 处理完后继续。
输出 1 完成 布尔 所有匹配窗口都接受关闭才为 true。

行为要点:

  • 空目标或只写 window: 不关闭任何窗口,输出 false 并继续执行——这是安全约定,避免手滑关掉桌面上所有窗口。
  • 至少有一个有效条件(如 window:title=网易云、window:process=cloudmusic.exe)才算有效输入。
  • 命中多个窗口时一并关闭,不是只关第一个;全部接受才输出 true。
  • 想按进程关窗口可以写 window:process=程序名.exe。

关闭进程

类型 ID:event.close_process。按 PID 或进程名结束进程。

方向 端口 类型 说明
输入 0 执行 执行 到达后执行关闭。
输入 1 目标 字符串 pid:123、纯数字 PID,或进程名(不区分大小写、.exe 可省)。
输入 2 连带子进程 布尔 默认开:先杀整棵进程树,防止启动器复活子窗口。
输出 0 执行 执行 处理完后继续。
输出 1 完成 布尔 是否成功结束目标进程。
输出 2 关闭数量 数值 本次实际结束的进程数。

行为要点:

  • 进程名模式会命中所有同名进程(多开全灭);需要精确关闭时用 PID,可直接连接启动程序节点的 PID 输出。
  • 这是强制结束,目标进程不会有机会弹保存确认;有未保存数据请先走关闭窗口。

常见错误

  • 关闭窗口什么都没发生:检查目标是否为空或只有 window: 前缀;两种都算空输入,按设计不动作。
  • 游戏关掉了又自己起来:启动器进程还活着,改用关闭进程并保持「连带子进程」开启。