关闭窗口与关闭进程¶
两个节点都位于 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:前缀;两种都算空输入,按设计不动作。 - 游戏关掉了又自己起来:启动器进程还活着,改用关闭进程并保持「连带子进程」开启。