Open App
Open App
Sección titulada «Open App»Tipo: open-app · Paquete: Desktop Activities v1.0.8 · Salida: int
Lanza una aplicación o proceso de Windows. Es habitualmente el primer paso de una automatización de escritorio: abrir el programa que vas a automatizar. Devuelve el PID (identificador de proceso). Opcionalmente puede esperar a que el proceso termine antes de continuar, y entonces devuelve su código de salida.
Cómo funciona
Sección titulada «Cómo funciona»Ejecuta el programa de path como lo haría Windows al hacer doble clic (por el shell), opcionalmente con argumentos (args) y una carpeta de trabajo (workingDir; por defecto, la carpeta del ejecutable). Por eso path también puede ser un nombre suelto que Windows sepa encontrar (notepad) o un documento, que se abre con su aplicación asociada.
Antes y después de lanzar, la actividad comprueba lo que suele fallar en una sesión de robot, para que el error diga la causa en vez de aparecer más tarde como “no se encontró la ventana”:
- Antes: si
pathes una ruta completa (C:\…o\\servidor\…) que no existe, falla de inmediato. Si el programa viene de Internet (marca Mark of the Web), deja un aviso en el registro, porque Windows puede pedir una confirmación que nadie da. - Al lanzar: Windows tiene hasta
timeoutms para abrirla. Si no devuelve el control (casi siempre un aviso de SmartScreen, UAC o “Abrir archivo - Advertencia de seguridad” esperando un clic), la actividad falla nombrando la causa probable. - Después: durante 1 s vigila que la aplicación no se cierre por un error de arranque (falta una DLL, archivo dañado, excepción sin controlar). Si se cierra con otro código, solo lo anota en el registro (lo hacen los lanzadores que delegan en otra ventana).
Por defecto continúa el flujo sin esperar a que la aplicación termine. Con waitForExit = true el flujo se detiene hasta que el proceso termine (útil para herramientas de línea de comandos).
Tras abrir la app, normalmente sigue un Win Attach para conectarse a su ventana.
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
path | string | — | Ruta del ejecutable o comando que se abre. Ej: C:/ERP/erp.exe. |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
args | string | — | Argumentos de línea de comandos. |
workingDir | string | — | Carpeta de trabajo. Vacío = la carpeta del ejecutable. |
waitForExit | bool | false | Esperar a que el proceso termine antes de seguir. |
timeout | int | 30000 | Máximo en ms para que Windows abra la aplicación. Vacío = 30000, o el tiempo de espera de interfaz del proyecto si es mayor. Con waitForExit, es además el máximo en ms (desde el lanzamiento) para que termine; vacío o 0 = hasta que termine, dentro de la duración máxima de la ejecución. |
Devuelve un int:
- Con
waitForExit = false(por defecto): el PID del proceso lanzado. Úsalo, por ejemplo, para terminar esa instancia con Kill Process. - Con
waitForExit = true: el código de salida del proceso (normalmente0= terminó bien).
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
La aplicación '…' no existe o la cuenta de Windows del robot no la ve. … | La ruta no existe para la cuenta del robot (las unidades de red y carpetas de usuario pueden ser otras en una sesión de robot). Usa una ruta UNC o local válida para esa cuenta. |
Windows bloqueó la aplicación (SmartScreen): '…' viene de Internet (Mark of the Web) … | El ejecutable tiene la marca de Internet. Desbloquéalo (Propiedades › Desbloquear, o Unblock-File en PowerShell) o instálalo desde un origen de confianza. |
Windows probablemente bloqueó la aplicación (SmartScreen): '…' no se abrió en … s … | SmartScreen está esperando una confirmación. Igual que el anterior, o permítelo en Seguridad de Windows. |
'…' pide permisos de administrador (UAC) y un robot no puede confirmar ese aviso. … / Windows pide permisos de administrador (UAC) para abrir '…' … | La aplicación exige elevación. Configúrala para que no la pida, o usa una cuenta que ya tenga esos permisos. |
Windows no abrió '…' en … s. … | Windows no terminó de abrirla en timeout (un aviso de seguridad o la app no responde). Revisa la máquina con la cuenta del robot; si solo es lenta, sube timeout. |
La cuenta de Windows del robot no tiene permiso para ejecutar '…'. … | Faltan permisos sobre el archivo o su carpeta. |
'…' no es una aplicación válida para este Windows (archivo dañado o de otra arquitectura). | El ejecutable está dañado o es de otra arquitectura. Reinstala la aplicación. |
Windows no tiene una aplicación asociada para abrir '…'. | path es un documento sin programa asociado. Indica el ejecutable y pasa el documento en args. |
Se canceló la apertura de '…': se rechazó o se cerró un aviso de seguridad de Windows (SmartScreen o UAC). | Alguien (o una directiva) rechazó el aviso de seguridad. |
'…' se cerró nada más abrir por un error (código 0x…). … | La aplicación se cayó al arrancar. Revisa que esté bien instalada, sus argumentos y su carpeta de trabajo. |
No se pudo abrir '…': … | Otro error de Windows al lanzar; el texto final lo detalla. |
No se pudo iniciar el proceso. | Windows no creó un proceso nuevo; pasa al abrir un documento o URL que maneja una instancia ya abierta. Si necesitas el PID, abre el ejecutable directamente. |
El proceso no terminó en … ms. | Con waitForExit, el proceso siguió corriendo más allá de timeout. Súbelo o déjalo vacío. |
Ejemplo
Sección titulada «Ejemplo»Open App path = "C:/ERP/erp.exe" → output: pidWin Attach selector = (ventana "ERP — Login") └─ body: ... automatizar el ERP ...Ejecutar una herramienta de línea de comandos y comprobar su resultado:
Open App path = "C:/Herramientas/exportar.exe" args = "/salida \"" + carpeta + "\"" waitForExit = true → output: codigoIf condition = codigo != 0 └─ then: Throw message = "La exportación terminó con el código " + codigoActividades relacionadas
Sección titulada «Actividades relacionadas»- Win Attach — conectarse a la ventana de la app abierta.
- Kill Process — terminar la aplicación (por PID o por nombre).
- Win Close — cerrar la ventana al terminar.