SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: luigidor en Jueves 22 de Octubre de 2009, 13:49
-
Buenas,
He abierto una aplicación .exe desde C++ con CreateProcess y funciona perfectamente.
Cierro la aplicación con TerminateProcess y funciona perfectamente.
PERO,
La aplicación la abro desde un botón y lo que quiero es que si vuelvo a pulsar dicho botón me muestre la ventana en primer plano (la ya abierta) Y NO ME ABRA UNA NUEVA (como si abriera un nuevo proceso). ¿Cómo hago esto? ¿Puedo utilizar el 'dwProcessId' ó el 'hProcess' para volver a mostrar la ventana en primer plano, sin abrir otra nueva e idéntica?
Gracias de antemano a tod@s
-
Usa EnumWindow para enumerar todas las ventanas, por cada HWND enumerado llama a GetWindowThreadProcessId y compara el id del proceso retornado con el que creaste. Con ShowWindow podes mostrar la ventana y con SendMessage (WM_QUIT) tal vez puedas cerrar el programa correctamente (TerminateProcess no es un cierre limpio).
Usa la MSDN (http://msdn.microsoft.com) para obtener la documentacion de las funciones.
-
Muchísimas gracias Eternal Idol.
Funciona perfectamente...
-
De nadas :comp: