Programas en ejecucion sin ventana
Publicado por SetWindowPos (1 intervención) el 20/09/2006 08:19:05
Hola:
Alguien sabe como identificar un programa que esta corriendo no tiene un formulario (Form) activo? Me explico.
Imaginar que un programa esta ejecutandose y el usuario decide cerrar dicho programa. Por diversos errores de programacion (que he de depurar), el programa cierra el formulario o ventana (Unload Me), pero el proceso sigue estando en memoria (lo cual se observa usando el Task Manager), seguramente porque tendre algun tipo de objeto reservado en memoria sin liberar o algun temporizador en ejecucion.
Ahora el usuario desea de nuevo volver a ejecutar dicho programa. Como quiera que se exije que el programa solo se ejecute una vez, el programa identifica que ya esta siendo ejecutado y por tanto no se vuelve a ejecutar.
Rebuscando por Internet he encontrado una forma para hacer visible cualquier ventana, y aunque usando estas funciones con mi programa, Windows es capaz de encontrarlo en memoria (FindWindow), las llamadas a SetForegroundWindow, BringWindowToTop, SetWindowPos no generan ningun tipo de error.
La idea es identificar que aunque el programa esta siendo ejecutado, al intentar visualizar su ventana, esta no es visible.
Espero haberme explicado correctamente.
Muchas gracias por adelantado
Alguien sabe como identificar un programa que esta corriendo no tiene un formulario (Form) activo? Me explico.
Imaginar que un programa esta ejecutandose y el usuario decide cerrar dicho programa. Por diversos errores de programacion (que he de depurar), el programa cierra el formulario o ventana (Unload Me), pero el proceso sigue estando en memoria (lo cual se observa usando el Task Manager), seguramente porque tendre algun tipo de objeto reservado en memoria sin liberar o algun temporizador en ejecucion.
Ahora el usuario desea de nuevo volver a ejecutar dicho programa. Como quiera que se exije que el programa solo se ejecute una vez, el programa identifica que ya esta siendo ejecutado y por tanto no se vuelve a ejecutar.
Rebuscando por Internet he encontrado una forma para hacer visible cualquier ventana, y aunque usando estas funciones con mi programa, Windows es capaz de encontrarlo en memoria (FindWindow), las llamadas a SetForegroundWindow, BringWindowToTop, SetWindowPos no generan ningun tipo de error.
La idea es identificar que aunque el programa esta siendo ejecutado, al intentar visualizar su ventana, esta no es visible.
Espero haberme explicado correctamente.
Muchas gracias por adelantado
Valora esta pregunta


0