FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Duda sobre FindWindow
Hola, de nuevo yo con otra duda, espero no hartarlos...
Estoy haciendo un programilla para automatizar algunas tareas en otros programas, lo que necesito es lanzar una aplicación varias veces y guardar el handle de la ventana principal de cada aplicación para mandarle mensajes, es decir pulsaciones de teclas (esto ya lo conseguí con un ejemplo de alguno de los hilos anteriores Gracias), así que lo que pienso hacer es llamar a la aplicación mediante SetForeground y despues enviarle pulsaciones de teclas, para obtener el handle de cada ventana lo que he probado hacer es lanzar la aplicación con ShellExecute o WinExec e inmediatamente llamar FindWindow, lei la ayuda de Windows, y WinExec no devuelve el handle de la ventana de la aplicación que llama, ShellExecute, devuelve el handle de la ventana o el handle de una DDE, pero la aplicación que llamo siempre devuelve 42, por lo que opté en usar FindWindow. Mi duda es la siguiente: Cuando llamo FindWindow, usando solamente el caption de la ventana que busco ¿siempre me devolverá el handle de la ventana creada por último? Segun lo que he probado, la respuesta es afirmativa, pero llevo poco tiempo probando esto, y me gustaría que alguien que ya haya probado esto me lo confirmara. Por último algunas preguntas, quizas lo consideren de novatos: con el handle de la ventana, ¿Puedo situar esta ventana en otro monitor (por supuesto solo para los que tienen más de un monitor), y cambiarle el tamaño? creo que con los mensajes de Windows; y ¿Por qué algunos recomiendan usar dos veces SetForeground? ¿con una sola vez no es suficiente? ¿o no es muy seguro? De antemano agradezco a toda la pandilla de Club Delphi por dedicarnos un tiempo a todos los preguntones... Gracias
__________________
Herr Heins Faust |
#2
|
||||
|
||||
Espero no estar reinventando la rueda, pero aquí te dejo un par de funciones que pueden resultarte útiles:
Un ejemplo de como usar las funciones anteriores seria el siguiente:
|
#3
|
||||
|
||||
Me quedaba lo de mandar a otro monitor, en este otro hilo ya hablamos sobre el tema, pero utilizando el Handle la cosa quedaría así:
|
#4
|
||||
|
||||
Gracias
Gracias camarada Seoane, voy a probar tu solución, aunque estoy seguro de que funcionará, luego cuento como me fue, es que ahorita tengo mucha chamba con otros pendientes
Bye
__________________
Herr Heins Faust |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con el FindWindow | lookmydoom | API de Windows | 3 | 22-07-2006 09:57:56 |
Una duda sobre ADO | PTW | Conexión con bases de datos | 1 | 13-04-2004 23:33:14 |
Duda sobre BDE vs IBX | ESA | Firebird e Interbase | 3 | 04-03-2004 17:20:07 |
Problemas con FindWindow | Fita | API de Windows | 4 | 03-03-2004 19:14:00 |
Duda sobre ADO | Omar Alejandro | Conexión con bases de datos | 7 | 31-05-2003 19:52:58 |
|