Cambios de apagado para Windows Vista
En la tabla siguiente se resumen las diferencias entre el apagado en Windows Vista y Windows XP.
Característica | Windows XP | Windows Vista |
---|---|---|
Bloqueo del apagado | Las aplicaciones pueden retrasar la respuesta a WM_QUERYENDSESSION durante 5 segundos y, a continuación, el sistema permite al usuario finalizar la aplicación. Las aplicaciones que devuelven TRUE en respuesta a WM_QUERYENDSESSION pueden retrasar la respuesta a WM_ENDSESSION durante 5 segundos y, a continuación, el sistema permite al usuario finalizar la aplicación. | Las aplicaciones pueden retrasar la respuesta a WM_QUERYENDSESSION durante 5 segundos y, a continuación, el sistema permite al usuario continuar o cancelar el apagado. Las aplicaciones que devuelven TRUE en respuesta a WM_QUERYENDSESSION pueden retrasar la respuesta a WM_ENDSESSION durante 5 segundos y, a continuación, el sistema permite al usuario continuar o cancelar el apagado. |
Cancelación del apagado | Si una aplicación devuelve FALSE en respuesta a WM_QUERYENDSESSION, el apagado se cancela en la mayoría de los casos. Sin embargo, no se muestra ninguna interfaz de usuario, por lo que es posible que el usuario no tenga en cuenta que se ha cancelado el apagado. | Si una aplicación devuelve FALSE en respuesta a WM_QUERYENDSESSION, sigue apareciendo en la interfaz de usuario de apagado. Tenga en cuenta que el sistema no permite que las aplicaciones o aplicaciones de consola sin una ventana visible cancelen el apagado. Estas aplicaciones se finalizan automáticamente si no responden a WM_QUERYENDSESSION o WM_ENDSESSION en un plazo de 5 segundos o si devuelven FALSE en respuesta a WM_QUERYENDSESSION. |
Cierre de la interfaz de usuario | El sistema muestra un cuadro de diálogo para cada aplicación que bloquea el apagado. Si el usuario hace clic en el botón Finalizar ahora , la aplicación finaliza. Si el usuario hace clic en el botón Cancelar , se cancela el apagado y la aplicación continúa ejecutándose. | El sistema muestra una interfaz de usuario de pantalla completa que identifica todas las aplicaciones que bloquean el apagado y sus motivos para hacerlo (si han registrado un motivo mediante ShutdownBlockReasonCreate). |
Prácticas recomendadas
- Las aplicaciones no deben bloquear el apagado. Responda a WM_QUERYENDSESSION lo antes posible y posponga las actividades de limpieza hasta que procese el mensaje de WM_ENDSESSION .
- Las aplicaciones que deben bloquear el apagado deben usar la nueva función ShutdownBlockReasonCreate para registrar una cadena que explique el motivo para el usuario. El usuario puede decidir si desea continuar o cancelar el apagado.
- Las aplicaciones no pueden confiar en poder bloquear el apagado.