Sección de códigos , trucos y ejemplos para visual basic


22 - Detectar cuando se está apagando Windows mediante un Hook

<Volver> - Anterior - Siguiente



 

Dos ejemplos que permiten interceptar y detectar el cierre de windows o del sistema

 

Ejemplos 1

 

El ejemplo inicia un Hook al sistema para poder interceptar el mensaje WM_QUERYENDSESSION.

Si se intenta apagar el sistema o cerrar la sesión, dentro del procedimiento WinProc, se muestra un mesanje MsgBox

 

Y se cancela el cierre pasando como parámetro la constante WM_CANCELMODE en el parámetro wParam

 

Nota: Tener en cuenta que no podemos handar deteniendo el procedimiento que recibe los mensajes de windows por que se cerraría visual basic por completo, al igual que si se producen errores dentro del procedimiento que subclasifica los mensajes de windows.

Si no se quiere detener el cierre del sistema, no ejecutar la llamada a la función CallwindowProc

 

Código en un módulo bas

 

Código fuente en el Formulario

 


Ejemplo 2

Este código fuente es exactamente igual al anterior , pero al intentar cambiar de sesión o apagar, permite cancelar o proceder al cierre del sistema mediante un mensaje Msgbox SI/NO

 

Código fuente en un módulo bas

 

Código fuente en el Form Para activar y deshabilitar el HOOK

 



Buscar en Recursos vb