Chuyển tới nội dung chính

Mở ứng dụng

Bảo đảm cửa sổ flow này cần đang có trên màn hình — chỉ khởi chạy chương trình nếu nó chưa có ở đó.

Chỉ có trong Desktop Mode; ở workspace giả lập, khởi động app là việc của Dashboard và node này không được bày ra.

Yêu cầu

Một flow desktop. Execution Context của chính node mô tả cửa sổ nào được tính là "có ở đó" — đúng mô tả mà mọi node khác dùng, nên không có chỗ thứ hai để hai bên mô tả lệch nhau.

Node này chạy thế nào

  1. Kiểm trước. Nếu một cửa sổ khớp Execution Context của node đã tồn tại, đi Success ngay — không khởi chạy gì.
  2. Ngược lại, khởi động Executable với Arguments.
  3. Chờ — tối đa Timeout — cho cửa sổ được mô tả xuất hiện, rồi đi Success.

Hai chi tiết của trình tự đó quan trọng hơn vẻ ngoài:

  • Kiểm trước không phải tối ưu hoá. Thiếu nó, lần chạy thứ hai của flow sẽ mở bản sao thứ hai của ứng dụng, và mô tả cửa sổ từng khớp đúng một cửa sổ ở lần một sẽ nhập nhằng từ lần hai — làm mọi node sau đó thất bại vì một lý do trông chẳng liên quan gì tới nguyên nhân.
  • Chờ là chờ cửa sổ, không phải chờ process. Chrome, Explorer và các app Office đều khởi động bằng cách chuyển giao cho instance đang chạy sẵn rồi tự thoát — node nào canh cái process nó vừa sinh ra sẽ báo thất bại trong khi cửa sổ được yêu cầu đang mở ngay trước mắt bạn.

Thiết lập

Thiết lậpKiểuKhoảngMặc địnhTác dụng
Executablechuỗi1–500 ký tựBắt buộc. Chương trình cần khởi động — đường dẫn đầy đủ, hoặc tên nằm trên PATH
Argumentsdanh sách chuỗi≤ 32 mụcTham số dòng lệnh, mỗi mục một tham số
Timeoutsố nguyên1000–300000 msChờ cửa sổ bao lâu. Hào phóng không tốn gì: node trả về ngay khoảnh khắc cửa sổ xuất hiện
Wait aftersố nguyên0–60000 msNghỉ sau khi tìm thấy cửa sổ — đa số app cần một nhịp trước khi UI sẵn sàng

Cổng

CổngĐi khiBắt buộc
SuccessCửa sổ được mô tả đang trên màn hình — tìm thấy hoặc vừa khởi chạy
FailureKhông khởi động được chương trình, hoặc cửa sổ mãi không xuất hiện (APP_LAUNCH_FAILED)Không
CancelledRun bị dừng trong lúc chờKhông — không bao giờ đi tiếp
FatalCấu hình không hợp lệKhông — không bao giờ đi tiếp

Ví dụ cơ bản

Bảo đảm Notepad đã mở trước khi gõ vào nó:

  • Executable: notepad.exe
  • Execution Context: Cửa sổ cụ thể, process notepad.exe

Mọi node sau đó gọi tên cùng cửa sổ này đều có thể yên tâm nó tồn tại.

Lỗi thường gặp

LỗiHậu quảCách sửa
Mô tả cửa sổ bỏ trốngKhông khớp gì cả — node khởi chạy một bản mới mỗi lần chạyMô tả cửa sổ: thường chỉ cần tên process
Mô tả cửa sổ bằng đúng nguyên tiêu đềGãy ngay khi app đổi tiêu đề (trình duyệt đổi theo từng tab)Khớp theo tên process hoặc file thực thi; chỉ dùng mẩu tiêu đề khi một process sở hữu nhiều cửa sổ
Hành động ngay sau SuccessCửa sổ tồn tại nhưng UI còn đang tảiĐặt Wait after, hoặc tốt hơn, xác minh đúng phần tử bạn cần
Đường dẫn chỉ tồn tại trên máy bạnAPP_LAUNCH_FAILED trên mọi máy khácƯu tiên tên nằm trên PATH, hoặc giữ đường dẫn trong một Flow Input

Node liên quan

  • Click · Input Text — thứ thường đến ngay sau
  • Find Image — xác minh app sẵn sàng, chứ không chỉ mở
  • Sub Flow — đặt Mở ứng dụng trên đầu một routine "dựng app lên" tái sử dụng được