title: 打开 description: 打开文件、程序、注册表项或协议链接,可等待并取回 window: 窗口目标。
打开¶
类型 ID:event.simple_open。添加路径:Shift+A → 施工中 → 打开。
用途¶
用一行目标打开几乎任何东西,并把它弹出的窗口作为 window: 目标取回,直接连给宏、目标点击或窗口状态节点。日常“打开游戏 / 打开音乐软件再操作”用它一个节点就够。
端口¶
| 方向 | 端口 | 类型 | 说明 |
|---|---|---|---|
| 输入 0 | 执行 | 执行 | 到达后执行打开。 |
| 输入 1 | 目标 | 字符串 | 支持下面六种写法,连线优先。 |
| 输入 2 | 等待秒数 | 数值 | 默认 0 = 提交打开后立即返回;大于 0 时等待窗口出现或进程退出。 |
| 输出 0 | 执行 | 执行 | 处理完后继续。 |
| 输出 1 | 完成 | 布尔 | 是否成功提交打开。 |
| 输出 2 | 窗口 | 字符串 | 第一个窗口的目标描述 window:handle=N,可直接连宏的执行域。 |
| 输出 3 | 窗口列表 | 数组 | 全部命中窗口的目标描述 window:handle=N。 |
目标写法¶
| 写法 | 行为 |
|---|---|
| 绝对/相对路径 | 可执行文件直接启动;文档类(非 exe/com/脚本扩展名)走文件关联,等同双击打开。 |
HKLM\... 注册表键 | 读取默认值的程序路径(回退 InstallLocation / DisplayIcon / Path),例如 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\cloudmusic.exe。 |
.lnk 快捷方式 | 解析出真实目标与参数后启动。 |
| 裸程序名 | 等同 Win+R 输入,经系统解析启动。 |
steam:、ms-settings: 等协议 | 等同在浏览器/运行框打开该链接。 |
先按路径识别,再按协议识别(C:\ 是路径不是协议)。出于安全,用 cmd / powershell / python 等解释器包裹启动的命令会被拦截审查。
等待语义¶
- 等待秒数为 0:提交后立即继续,不等窗口。
- 大于 0:进程先退出就先返回退出信息;到点未退出则抓取窗口返回。程序早退但子进程还活着(商店版应用、游戏启动器)时,用剩余时间继续轮询进程树窗口。
- 启动器经系统转手退出后,真实窗口可能挂在其他进程下(例如网易云音乐),节点会按启动映像名补一遍同名窗口兜底。
最小示例¶
把「窗口」输出连到宏节点的「执行域」,宏就在刚打开的窗口上执行。目标串规则见目标描述。
常见错误¶
- 窗口输出是空的:等待秒数设为 0 时节点不等窗口;给足启动时间,或先确认目标确实会弹窗。
- 文档打不开:确认系统里存在对应的文件关联;协议和目标拼写错误会以失败结束,不会静默跳过。