Página 1 de 1

Problemas con formularios windows

Publicado: 23 Abr 2010, 12:23
por joagilo
Tengo ciertos problemas de accesibilidad a los formularios windows (WindowsForms10.Window.8.app.0.378734a)
El hecho es que no localiza dichos formularios, es más, si grabo con Au3Record 3.3 la secuencia y luego la intento reproducir no lo hace.
Para mas información la secuencia grabada es;

_WinWaitActivate("Ventana1","TextoVentana1"); La ventana principal
MouseClick("left",1183,402,1); presiono un botón
_WinWaitActivate("classname=WindowsForms10.Window.8.app.0.378734a",""); Espera a que se abra la ventana/formulario que no consigo localizar o acceder a ella (lo único que necesito realmente es hallar su posición, y acceder a unos botones que tiene, a los cuales tampoco puedo acceder)
MouseClick("left",322,27,1); pulsar dentro de la ventana/formulario ( a estepunto nunca llega, pues no detecta la ventana)



Si alguien me puede ayudar me hará un grato favor, pues si no hallo solucion a este problema tendré que buscar otros lenguajes de scripting para solventarlo, y no es que me haga mucha gracia

Muchas gracias

Re: Problemas con formularios windows

Publicado: 23 Abr 2010, 12:35
por BasicOs
Hola
usa el autoit3Macrogenerator a ver si tienes más suerte. Y el Au3Info.
No obstante, si estás seguro que está abierta la ventana puedes poner un timeout (o un sleep()), ciegamente, y hacer un click en la posición deseada calculando de alguna forma donde está, por ejemplo haciendo una reducción de la ventana principal, etc... (localizando lo por el color o checksum por función pixel) igual que en Java. :smt017 :smt017 :smt017
Salu22:)

Re: Problemas con formularios windows

Publicado: 24 Abr 2010, 00:20
por Chefito
No tienes que tener ningún problema con estos forms.
Lo que pasa es que no se como llamas a una ventana de esta forma _WinWaitActivate("classname=WindowsForms10.Window.8.app.0.378734a","").
Ni conozco la función ni la forma de llamar a las ventanas :smt017 .

Prueba por ejemplo esto y verás que se activa la ventana:

Código: Seleccionar todo

WinActivate("[class:WindowsForms10.Window.8.app.0.378734a]")
Puedes utilizar las funciones WinWaitActive para parar la ejecución del script hasta que una ventana determinada sea activa.
Mira en la ayuda las funciones que empiezan por Win..... para manejo de ventanas, y mira como llamarlas (por su título, su clase, etc).
También puede que te interese mirar las funciones que empiezan por Control....... para utilizar sus controles directamente.

Saludos.