Apagar: esperando que se cierre el programa

Apagar: esperando que se cierre el programa

Cuando presiono el botón de apagado, Windows rechazará felizmente el apagado sin importar qué programa/tarea trivial requiera más tiempo. Cuando presiono el botón de apagado físico, quiero que Windows se apague sin importar qué, con la excepción de veracrypt que necesita tiempo suficiente para volver a cifrar unidades, borrar claves de la memoria y cualquier otra cosa que haga al salir.

¿Es esto alcanzable?

(El cierre forzado global obviamente no es una opción, ya que Veracrypt necesita un cierre adecuado)

Respuesta1

La razón por la que le pregunté anteriormente sobre la versión de Windows que está utilizando es porque su afirmación de que "Cuando presiono el botón de apagado, Windows rechazará felizmente el apagado sin importar qué programa/tarea trivial requiera más tiempo" simplemente no es cierta. para cualquier versión posterior a XP.

Como habla Raymond Chen enCambios en la administración de energía en Windows VistayAhora que Windows dificulta que su programa bloquee el apagado, ¿cómo se bloquea el apagado?, desde Vista en adelante solo las aplicaciones que implementen ApagarBloqueReasonCreate()La función puede bloquear el proceso de apagado una vez que se ha iniciado, e incluso entonces el usuario siempre puede optar por cerrar a la fuerza sin importar qué. Esto se hizo para evitar ese viejo problema en el que las personas (especialmente los usuarios de computadoras portátiles) solían iniciar el apagado, solo para descubrir más tarde que el sistema permanecía encendido todo el tiempo porque estaba bloqueado debido a alguna aplicación y, por lo tanto, se había calentado o había agotado la batería. .

Puedes probar esto muy fácilmente. Abra un montón de aplicaciones que no le permiten cerrarlas si hay cambios no guardados. Por ejemplo, el Bloc de notas, Paint, Word, etc., todos muestran el mensaje "¿Quieres guardar?" escriba diálogos. Ahora, si configuró el botón de encendido para que se apague y lo presiona, verá una ventana que muestra todas las aplicaciones abiertas yvoluntadmorirá independientemente de si guarda su trabajo muy rápidamente o no.

Hasta ahora no he encontrado ninguna aplicación para consumidores que abuse de ShutdownBlockReasonCreate() para evitar que Windows se apague. Eso no quiere decir que no existan aplicaciones que se comporten mal, pero su afirmación de que cualquier programa trivial puede bloquear el cierre de Windows ya no es cierta. Si realmente está experimentando esto, entonces claramente hay algo mal por su parte porque esa no es la forma en que se supone que Windows se comporta (y lo hace) desde Vista.

información relacionada