Capturar evento de cierre de aplicacion desde administrador de tareas

03/10/2007 - 17:13 por e-Ricc | Informe spam
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

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
03/10/2007 - 18:24 | Informe spam
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


"e-Ricc" wrote:


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

Respuesta Responder a este mensaje
#2 e-Ricc
03/10/2007 - 20:14 | Informe spam
Ahh perfecto!!

Muchas gracias Luis dejame intentarlo

Saludos!!!

Luis Miguel Blanco wrote:
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.

Respuesta Responder a este mensaje
#3 e-Ricc
03/10/2007 - 20:20 | Informe spam
ujules! ya lo hice y no funciona, el programa se cierra sin mostrar la
ventana

tienes idea de porque pasará por alto el mbox ?

Luis Miguel Blanco wrote:
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.

Respuesta Responder a este mensaje
#4 Luis Miguel Blanco
03/10/2007 - 21:17 | Informe spam
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


"e-Ricc" wrote:

ujules! ya lo hice y no funciona, el programa se cierra sin mostrar la
ventana

tienes idea de porque pasará por alto el mbox ?

Luis Miguel Blanco wrote:
> 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.
>

Respuesta Responder a este mensaje
#5 e-Ricc
03/10/2007 - 22:47 | Informe spam
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!!


Luis Miguel Blanco wrote:
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.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida