Discussion:
Capturar evento de cierre de aplicacion desde administrador de tareas
(demasiado antiguo para responder)
e-Ricc
2007-10-03 15:13:47 UTC
Permalink
Hola amigos, una duda, cuanto tengo un programa corriendo en winforms
(c# vs2005) puedo saber cuando el usuario presiono el boton salir por
medio del evento FormClosing o FormClosed, pero existe alguna manera de
saber tambien cuando un usuario "mata" el proceso desde el administrador
de tareas?

¿O solo me tendré que limitar a los eventos ocurridos durante la misma
operacion de mi aplicación?


Saludos!
e-Ricc
Luis Miguel Blanco
2007-10-03 16:24:01 UTC
Permalink
Hola e-Ricc

Utiliza en alguno de los eventos que mencionas el parámetro que contiene la
información de los argumentos del evento, consultando la propiedad
CloseReason. Cuando el valor sea TaskManagerClosing te indica que el
formulario está siendo cerrado desde el administrador de tareas.

//---------------------------------
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (e.CloseReason == CloseReason.TaskManagerClosing)
{
MessageBox.Show("Cierre desde Admin.Tareas");
}
}
//---------------------------------

Espero que te sea de utilidad.
--
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com
Post by e-Ricc
Hola amigos, una duda, cuanto tengo un programa corriendo en winforms
(c# vs2005) puedo saber cuando el usuario presiono el boton salir por
medio del evento FormClosing o FormClosed, pero existe alguna manera de
saber tambien cuando un usuario "mata" el proceso desde el administrador
de tareas?
¿O solo me tendré que limitar a los eventos ocurridos durante la misma
operacion de mi aplicación?
Saludos!
e-Ricc
e-Ricc
2007-10-03 18:14:08 UTC
Permalink
Ahh perfecto!!

Muchas gracias Luis dejame intentarlo

Saludos!!!
Post by Luis Miguel Blanco
Hola e-Ricc
Utiliza en alguno de los eventos que mencionas el parámetro que contiene la
información de los argumentos del evento, consultando la propiedad
CloseReason. Cuando el valor sea TaskManagerClosing te indica que el
formulario está siendo cerrado desde el administrador de tareas.
//---------------------------------
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (e.CloseReason == CloseReason.TaskManagerClosing)
{
MessageBox.Show("Cierre desde Admin.Tareas");
}
}
//---------------------------------
Espero que te sea de utilidad.
e-Ricc
2007-10-03 18:20:16 UTC
Permalink
ujules! ya lo hice y no funciona, el programa se cierra sin mostrar la
ventana

tienes idea de porque pasará por alto el mbox ?
Post by Luis Miguel Blanco
Hola e-Ricc
Utiliza en alguno de los eventos que mencionas el parámetro que contiene la
información de los argumentos del evento, consultando la propiedad
CloseReason. Cuando el valor sea TaskManagerClosing te indica que el
formulario está siendo cerrado desde el administrador de tareas.
//---------------------------------
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (e.CloseReason == CloseReason.TaskManagerClosing)
{
MessageBox.Show("Cierre desde Admin.Tareas");
}
}
//---------------------------------
Espero que te sea de utilidad.
Luis Miguel Blanco
2007-10-03 19:17:02 UTC
Permalink
Hola e-Ricc

A mí si me ha mostrado el mensaje al cerrar la aplicación desde el
Administrador de Tareas.

¿Lo has probado desde Visual Studio?, si es así puede que ese sea el
problema. Yo he ejecutado el archivo .exe generado por Visual Studio pero
desde fuera del entorno de desarrollo. Si no lo has probado así, inténtalo a
ver si de esa forma te funciona.
--
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com
Post by e-Ricc
ujules! ya lo hice y no funciona, el programa se cierra sin mostrar la
ventana
tienes idea de porque pasará por alto el mbox ?
Post by Luis Miguel Blanco
Hola e-Ricc
Utiliza en alguno de los eventos que mencionas el parámetro que contiene la
información de los argumentos del evento, consultando la propiedad
CloseReason. Cuando el valor sea TaskManagerClosing te indica que el
formulario está siendo cerrado desde el administrador de tareas.
//---------------------------------
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (e.CloseReason == CloseReason.TaskManagerClosing)
{
MessageBox.Show("Cierre desde Admin.Tareas");
}
}
//---------------------------------
Espero que te sea de utilidad.
e-Ricc
2007-10-03 20:47:10 UTC
Permalink
Que ondas Luis!!

Lo intente de ambas maneras y en ninguna funcionó =(

Ejecutando el programa desde VS y ejecutando el exe desde el explorador
de archivos y en ningun caso me funcionó =(


Saludos!!
Post by Luis Miguel Blanco
Hola e-Ricc
A mí si me ha mostrado el mensaje al cerrar la aplicación desde el
Administrador de Tareas.
¿Lo has probado desde Visual Studio?, si es así puede que ese sea el
problema. Yo he ejecutado el archivo .exe generado por Visual Studio pero
desde fuera del entorno de desarrollo. Si no lo has probado así, inténtalo a
ver si de esa forma te funciona.
Loading...