Título: Foco de una ventana Publicado por: Yekka en 26 Octubre 2007, 21:42 pm Hola foro, ¿como se puede hacer para darle el foco a una ventana que no lo tenga?
Título: Re: Foco de una ventana Publicado por: HaDeS, - en 26 Octubre 2007, 22:05 pm Código Si la ventana es de la misma aplicación, si es una aplicación externa puedes usar esta api: Código
Saludos ;) Título: Re: Foco de una ventana Publicado por: Yekka en 27 Octubre 2007, 03:59 am Es posible un ejemplo, suponiendo que solo tengo el caption o el nombre de la ventana, "me refiero al focus de una aplicacion externa".
Título: Re: Foco de una ventana Publicado por: HaDeS, - en 27 Octubre 2007, 04:35 am Weno, cambio de estrategia, utilize la api findwindow y showwindow para hacer el focus en la ventana
Código
Saludos ;) Título: Re: Foco de una ventana Publicado por: Yekka en 27 Octubre 2007, 05:31 am Gracias me funciono bien, estoy haciendo un proyecto que abra un .doc bajo contraseña, luego lo llamo con la rutina "Focus" en caso de que lo pierda y le envio la clave con SendKeys.
Otra pregunta, no se si me salgo del tema. ¿Como se puede hacer para que una ventana siempre este visble, a pesar de que pierda el focus? ej: como el administrador de tareas de windows, una vez activo, siempre estara visible, como los programas de administracion de redes que usan los ciber-cafe. Título: Re: Foco de una ventana Publicado por: HaDeS, - en 27 Octubre 2007, 07:07 am mm, lo que queres es hacer un tipo de bruteforce no?, mira este código que creo que funciona para word, lo probe con word 2000:
Código Crea un objeto de word, abre el documento e intenta meter la contraseña, si hay un error es porque la contraseña esta mala, si no hay error es porque la contraseña es buena. Y con respecto a que esté siempre visible podes probar esto: Código
Saludos ;) Título: Re: Foco de una ventana Publicado por: Yekka en 27 Octubre 2007, 17:27 pm Bien, con respecto al codigo que abre word, lo probre en office 2003, abre word, envia la contraseña, y luego me da el mensaje que indica 'password correcto', pero no abre el documento, no se si me explico, no aparece lo que esta escrito en el mismo.
Con respecto al segundo code, funciona bien gracias, sobre todo por la velocidad de respuesta que das. Título: Re: Foco de una ventana Publicado por: HaDeS, - en 27 Octubre 2007, 21:51 pm No tengo idea porque pasa eso, debe ser por la diferencia de versiones del word... voy a averiguar, y luego si tengo la respuesta te la posteo.
Saludos ;) Título: Re: Foco de una ventana Publicado por: Yekka en 28 Octubre 2007, 17:54 pm Hola HaDeS, utilizando tu ejemplo de abrir un .Doc pero aplicandolo para abrir un .Pps, me da un error. fijate en esto:
Citar Error '438' en tiempo de ejecucion: El objeto no admite esta propiedad o método Este es tu code adaptado: Código [/code] Osea, la idea en este caso, es abrir un .pps bajo contraseña, de momento yo estoy haciendo esto: Código: Dim Res As Long De momento, el code funciona, lo ejecuto, busco haber si la ventana esta activa, le doy foco y le envio la contraseña. Todo bien, pero si se cliquea en otra ventana en pleno procedimiento, la contraseña no llega a su destino, me explico: se abre el documento pero queda en espera del password de apertura. Lo que necesito saber, es si como lo estoy haciendo esta bien y si sabes como puedo corregir ese problema o si por el contrario, crees que tu ejemplo de abrir office, es mas efectivo, en ese caso dime que puedo hacer para corregirr el error en tiempo de ejecucuion que me da tu ejemplo adptado a .pps. Un poco enrredado todo lo que dije, ¿verdad? :-(. Código [/code] Título: Re: Foco de una ventana Publicado por: HaDeS, - en 28 Octubre 2007, 22:37 pm Buenas!!, jeje pues, no estuvo tan enredado, estuve buscando acerca del objeto de powerpoint y tenes dos errores en tú código
Código sería: Código
Pero, eso no arregla todo el problema, al parecer el método Open del objeto powerpoint no admite el campo pass, por lo que el código igualmente quedaría inútil. Como va esto, creo que es mejor que utilizes la forma de obtener el foco de la ventana y con la sendkeys mandar la clave y luego tab , enter. Si no te funciona bien agrega un DoEvents luego de que obtiene el foco de la ventana, asi se asegura que después de obtener el foco se envien las teclas. Si queres saber más sobre el tema de objetos office y visual, mira esta página: http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/office97/html/web/FULLTOC.asp Saludos :) Título: Re: Foco de una ventana Publicado por: Yekka en 29 Octubre 2007, 02:34 am Gracias, con el DoEvents se minimiza el problema, aunque no se elimina. Pero igula he dado un paso mas en mi proyecto.
Espero algun dia saber tanto como tu y poder asi responder con tanta seguridad y acertada en lasa respuestas. ¡Bye! :-* |