打开应用
确保本流程需要的窗口在屏幕上——只有它不在时才启动程序。
仅存在于桌面模式;在模拟器工作区,启动应用是仪表盘的职责,这个节点不会出现在工具箱里。
前提
一条桌面流程。节点自己的 Execution Context 描述哪个窗口算"在场"——和其他所有节点用的是同一份描述,所以不存在第二个会与之相左的地方。
节点如何运行
- **先检查。**匹配节点 Execution Context 的窗口已经存在时,立即走 Success——什么都不启动。
- 否则以 Arguments 启动 Executable。
- 等待——至多 Timeout——描述的窗口出现,然后走 Success。
这个 顺序里有两个细节比看上去重要:
- **先检查不是优化。**没有它,流程第二次运行会打开应用的第二个副本,第一次运行时恰好匹配一个窗口的描述到第二次就变得模糊——后面每个节点都失败,而原因看起来和病根毫无关系。
- **等的是窗口,不是进程。**Chrome、Explorer 和 Office 全家都这样启动:把命令行交给已在运行的实例然后自己退出——盯着自己刚生成的进程看的节点会在你眼前的窗口正在打开时报告失败。
设置
| 设置 | 类型 | 范围 | 默认 | 作用 |
|---|---|---|---|---|
| Executable | 字符串 | 1–500 字符 | — | **必填。**要启动的程序——完整路径,或 PATH 上的名字 |
| Arguments | 字符串列表 | ≤ 32 项 | — | 命令行参数,一项一个 |
| Timeout | 整数 | 1000–300000 ms | — | 等窗口等多久。给宽裕不花钱:窗口一出现节点立刻返回 |
| Wait after | 整数 | 0–60000 ms | — | 找到窗口后停一拍——多数应用的界面需要片刻才就绪 |
端口
| 端口 | 何时走 | 必接 |
|---|---|---|
| Success | 描述的窗口已在屏幕上——找到的或刚启动的 | 是 |
| Failure | 程序启动不了,或窗口始终没出现(APP_LAUNCH_FAILED) | 否 |
| Cancelled | 等待中运行被停止 | 否——从不续走 |
| Fatal | 配置无效 | 否——从不续走 |
基础示例
往 Notepad 里打字之前,确保它开着:
- Executable:
notepad.exe - Execution Context: 指定窗口,进程
notepad.exe
之后每个指名同一窗口的节点都可以放心假设它存在。
常见错误
| 错误 | 后果 | 修复 |
|---|---|---|
| 窗口描述留空 | 什么也匹配不上——节点每次运行都启动一个新副本 | 描述那个窗口:通常一个进程名就够 |
| 用完整标题描述窗口 | 应用一改标题就断(浏览器每个标签页都在改) | 按进程名或可执行文件匹配;只有一个进程拥有多个窗口时才用标题片段 |
| Success 之后立刻动作 | 窗口存在但界面还在加载 | 设 Wait after,或者更好:验证你需要的那个元素 |
| 路径只在你的电脑上存在 | 其他每台机器都 APP_LAUNCH_FAILED | 优先用 PATH 上的名字,或把路径放进 Flow Input |
相关节点
- Click · Input Text ——接下来通常做的事
- Find Image ——验证应用就绪,而不仅仅是打开了
- Sub Flow ——把打开应用放在可复用的"把应用带起来"例程的开头