2012-04-25 12 views
5

? Estoy intentando crear un instalador automático usando Python. ¿Cómo podría interactuar con las aplicaciones nativas de Windows que lanzo? Actualmente los estoy lanzando usando subprocess.call. ¿Tendría que usar Win32com? IronPython? ¿Llamar a un script VB desde Python?¿Cómo interactúo con los programas de Windows

He estado tratando de ver los objetos COM, pero todo lo que veo son las aplicaciones predeterminadas de Microsoft.

+0

¿Cuáles son estas aplicaciones nativas de Windows que inicia su instalador? ¿Aceptan los argumentos de la línea de comandos para que pueda decirles qué hacer sin tener que automatizar su UI? –

+0

Dudoso, aunque puedo ver eso. Snagit, Camtasia, Gotomeeting, instalador Ninite, etc. –

Respuesta

5

Si la aplicación es compatible con COM, use COM utilizando win32com. Este tutorial me ayudó mucho. Si no es así, puede usar algo como pywinauto o software similar. Por lo general, se describe como un módulo para pruebas GUI. SendKeys es útil para GUI no estándares como último recurso.

Ranorex Spy es una herramienta muy útil para identificar elementos de GUI.

Algunos de mis colegas también usan scripts compilados AutoHotkey.

+0

He usado SendKeys antes cuando tenía que hacer algo como esto antes, pero eso era muy, muy complicado. –

+0

¡Pywinauto se ve fenomenal! Voy a probarlo ahora. –

+0

SendKeys es complicado, pero a veces es la única forma. Sin embargo, al menos cuando se llama desde Pywinauto, da el foco a la ventana derecha. – Fenikso

Cuestiones relacionadas