Pregunta

Me gustaría automatizar una aplicación de Windows que solo viene como una aplicación GUI (no es compatible con la línea de comandos). La automatización en sí es relativamente sencilla con AutoIt .

Sin embargo, me pregunto, ¿es posible iniciar la aplicación de Windows desde un servicio de Windows (que simplemente llamaría el script AutoIt)?

¿Fue útil?

Solución

Incluso si Auto-it puede funcionar con UAC, lo más probable es que se encuentre con problemas de aislamiento de sesión, es decir, los servicios y el escritorio no se mezclan y se envían mensajes entre sí, a menos que se codifique explícitamente para pasar por él.

Entonces es posible, pero tampoco es pan comido.

Probablemente quiera mirar: Lanzar una aplicación .Net winforms interactivamente desde un servicio

Otros consejos

Aunque no se recomienda en absoluto debido a las complicaciones asociadas con el aislamiento de la Sesión 0 en las últimas versiones de Windows, los scripts de AutoIt ciertamente pueden invocarse desde un Servicio de Windows. Consulte esta página para ver algunos scripts de muestra que funcionan según lo esperado cuando se llama desde un Servicio de Windows .

Sin embargo, desafortunadamente, no todas las funciones de AutoIt parecen funcionar en la sesión 0. Tuvimos problemas con el "Win *" rutinas (WinActivate, WinExists), por lo que probablemente debería evitarlas si puede. Y dado que la documentación no destaca las funciones problemáticas, ¡asegúrese de probar a fondo!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top