Detectar apagado de Windows en Java
Que tal, estoy buscando una solucion para detectar en Java, eventos como el apagado o cierre de sesión de windows, para poder guardar la informacion de mi aplicacion antes de que se cierre ... Intente usar el metodo Runtime.getRuntime().addShutdownHook(Thread), pero el problema es que solo te da un tiempo antes de que el sistema operativo mate el proceso en cualquier momento, y la JVM se detiene inmediatamente. Ademas, la JVM no puede evitar el apagado de windows en caso de que el usuario seleccione la opcion de cancelar...
He estado buscando en internet, y parece ser que la unica opcion es usar JNI para detectar el evento WM_QUERYENDSESSION, que windows lanza a todas las aplicaciones cuando se va a apagar, y al parecer si alguna de esas aplicaciones le regresa un FALSE, el proceso de apagado se detiene...
Quisiera saber si alguien ya ha trabajado en este tipo de problema y me pudiera dar informacion al respecto, ya que no he usado JNI... o si hay alguna otra forma en vez de tener que usar JNI...
De antemano agradezco cualquier consejo que me puedan dar
- Inicie sesión o regístrese para enviar comentarios
orales a mi también me interesa
eso es bueno para poder monitorear algún server, a mi también me interesa