Desde mi aplicación en vb6 necesito detectar si se apaga el equipo o se cierra la sesión, para controlar algunas acciones antes de que se cierre.
1 Respuesta
Respuesta de leosoft
1
1
leosoft, Programacion Avanzada en VisualBasic, trabajo hace mas de 15 años...
Tienes que utilizar el evento QueryUnload del Form principal de tu aplicación, este evento ocurre por ejemplo cuando la aplicación quiere ser cerrada por el sistema operativo(Apagar sistema o Reiniciar), o desde el botón cerrar en la barra de titulo de la aplicación, en este evento podes hacer esas acciones antes de cerrar la aplicación, tené en cuenta que este evento no se produce al poner la instrucción END, por lo tanto al cerrar tu aplicación por las vías normales del programa, también tendrías que llamar a la rutina que gestiona esas acciones, fíjate que en ese evento existe una variable llamada Cancel que si la pones a true, podes cancelar el cierre de tu aplicación, si pones Cancel = True en ese evento, no podes cerrar windows a no ser que cierres tu aplicación por vías normales (Menu cerrar o Salir en tu ampliación). Ojo que no funciona en tiempo de ejecución, porque al querer cerrar o reiniciar windows, este le envía el comando al visual basic para que frene la ejecución del programa, en ese caso no se ejecuta el evento. Para probar tienes que compilar la aplicación en un .exe Cualquier duda estoy a tu disposición.