![]() |
Conocer cuando es eliminado el proceso
Hola a todos, existe algún evento o algo al estilo que se pueda consultar en el momento en el que el proceso que ejecuta la aplicación es eliminado del administrador de tareas. He probado el evento Destroy del Form principal pero no me funciona y lo que necesito es ejecutar cierta instrucción cuando el proceso es eliminado (específicamente como proceso del administrador de tareas de Windows.
Gracias por sus atenciones |
La verdad nunca intente algo asi. Pero el proceso si es uno por la aplicacion deberia ser:
pero prueba con el Onclose, porque fijate que si abres tu aplicacion y abres otros form(otras ventana), las minimizas y le das cerrar al form principal se cierra todo. No se cual es tu necesidad, para que quieres hacer eso. Saludos |
Gracias por la respuesta, pero no funciona tampoco. la necesidad es vital, ya que necesito que cuando la aplicación se cierre cerrar otros procesos internos que estoy usando, como es lógico si se cierra por la vía normal, no hay problemas, el tema está cuando matan el proceso, por eso requiero ver si es posible detectar un cierre de este tipo. Gracias una vez mas
|
Cita:
|
Lo normal en estos casos (normal o habitual) es tener otro proceso que te hace de vigía.
Algo similar a lo que hace el Interbase Guardian o muchos programas antivirus. Este segundo proceso (que puede ser un servicio) es el que "vigila" al principal. Y según lo que pasa con el "principal" hace unas acciones u otras. PROBLEMA: Si matas al vigilante... (STOP del servicio) no hay nadie que vigile. :o Creo que desde el propio proceso no siempre vas a poder detectar el cierre, sobre todo si se realiza de forma "forzosa". |
Gracias por las respuestas, no me sirve un segundo proceso, ya que la instrucción que tengo que ejecutar es obligatorio que se realice en el proceso 1, así que por lo que veo no tengo solución a este problema. Gracias nuevamente por sus dedicaciones y tiempo
|
cmfab,
Cita:
Cita:
Cita:
Pregunto : ¿Has considerado la posibilidad de bloquear el Task Manager a un usuario o grupo en específico para evitar que cierre la aplicación en cuestión? :confused: Revisa esta información Espero sea útil :) Nelson. |
Cita:
Hay muchas otras similares (incluso mejores) e igual de efectivas. |
Yo mismo uso a menudo PSKill (de SysInternals/Microsoft) que va muy bien para los usar en BAT/CMD.
|
Neftali,
Cita:
Quizás se pueda acotar el problema planteado a un entorno específico en el cual el usuario o grupo de usuarios, no tengan los privilegios requeridos que interfieran con el workaround sugerido. Los antivirus de Norton tiene la facultad de evitar que sean eliminados de memoria tanto con Task Manager (Windows) como con Process Explorer y PSKill (SysInternals), habrá que ver como Symantec evita ser eliminado de memoria por medios convencionales. Saludos, Nelson. |
El asunto es muy simple: Si el proceso se muere, todo muere con el.
Tener un guardian es una solucion *parcial* (aunque es buena idea!), pero no es la definitiva, porque el proceso puede morir por ejemplo, por una caida total del sistema. P.D: Ahora, me parece MUY raro el caso de uso que planteas: Que es lo que *realmente* quieres hacer? Siempre que cuando alguien se pone a hacer cosas raras es porque tiene un problema, y en vez de resolver el problema... hace cosas raras ;) |
La franja horaria es GMT +2. Ahora son las 18:54:33. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi