PDA

Ver la Versión Completa : encontrar ventana con FindWindow ()


oabel5
08-06-2010, 16:06:23
Hola a todos,
nuevamente me dirijo a ustedes, esta vez con este problema:
en mi programa (C) uso la Función FindWindow (NULL,"ECUFlashTool");
hasta aqui no hay problema; el problema radica que cuando en ECUFlashTool abro algún archivo, el nombre de la ventana cambia a por ejemplo:
"ECUFlashTool v.1.3.4 - O:\Files\temp\ejemplo.ini"
Hay alguna forma de encontrar la ventana, por ejemplo de esta forma como en MSDOS:
FindWindow (NULL,"ECUFlashTool*.*");
ó me pueden dar alguna otra solución de cómo puedo encontrar esa ventana?, la parte de ECUFlashTool nunca cambia, solo lo demas.
Gracias por toda respuesta.
Saludos.
Abel

Neftali [Germán.Estévez]
08-06-2010, 17:43:56
Si el nombre cambia puedes probar a hacer el Find por el ClassName (nombre de la clase). Para saber este nombre puedes revisar estos hilos (-WinExp- link (http://www.clubdelphi.com/foros/showthread.php?t=33772&highlight=winexp), link (http://www.clubdelphi.com/foros/showthread.php?t=45881&highlight=winexp), link (http://www.clubdelphi.com/foros/showthread.php?t=39800&highlight=winexp))

Faust
08-06-2010, 17:55:45
Saludos compañero, te recomiendo leer la Guía de Estilo y no olvides poner tu código entre sus respectivas etiquetas.

Te comento que con FindWindow no puedes hacer lo que dices con comodines, pero te doy otra opción... puedes obtener una sola vez el handle de tu ventana con FindWindow y el caption de tu programa y después con ese handle obtener la clase de tu ventana con GetClassname y en futuras operaciones haces FindWindow, pero no con el Caption, sino con su ClassName...

oabel5
09-06-2010, 09:12:29
Gracias por las respuestas, creo que es la solución a mi problema. Lo probaré inmediatamente.
Saludos desde Berlin (un boliviano)
Abel.