Modifications d’arrêt pour Windows Vista
Le tableau suivant récapitule les différences entre l’arrêt sur Windows Vista et Windows XP.
Fonctionnalité | Windows XP | Windows Vista |
---|---|---|
Blocage de l’arrêt | Les applications peuvent retarder la réponse à WM_QUERYENDSESSION pendant 5 secondes, puis le système permet à l’utilisateur d’arrêter l’application. Les applications qui retournent TRUE en réponse à WM_QUERYENDSESSION peuvent retarder la réponse à WM_ENDSESSION pendant 5 secondes, puis le système autorise l’utilisateur à arrêter l’application. | Les applications peuvent retarder la réponse à WM_QUERYENDSESSION pendant 5 secondes, puis le système permet à l’utilisateur de continuer ou d’annuler l’arrêt. Les applications qui retournent TRUE en réponse à WM_QUERYENDSESSION peuvent retarder la réponse à WM_ENDSESSION pendant 5 secondes, puis le système permet à l’utilisateur de continuer ou d’annuler l’arrêt. |
Annulation de l’arrêt | Si une application retourne FALSE en réponse à WM_QUERYENDSESSION, l’arrêt est annulé dans la plupart des cas. Toutefois, aucune interface utilisateur n’est affichée, de sorte que l’utilisateur peut ne pas savoir que l’arrêt a été annulé. | Si une application retourne FALSE en réponse à WM_QUERYENDSESSION, elle apparaît toujours dans l’interface utilisateur d’arrêt. Notez que le système n’autorise pas les applications console ou les applications sans fenêtre visible à annuler l’arrêt. Ces applications sont automatiquement arrêtées si elles ne répondent pas à WM_QUERYENDSESSION ou WM_ENDSESSION dans les 5 secondes ou si elles retournent FALSE en réponse à WM_QUERYENDSESSION. |
Arrêter l’interface utilisateur | Le système affiche une boîte de dialogue pour chaque application bloquant l’arrêt. Si l’utilisateur clique sur le bouton Terminer maintenant , l’application est arrêtée. Si l’utilisateur clique sur le bouton Annuler , l’arrêt est annulé et l’application continue de s’exécuter. | Le système affiche une interface utilisateur en plein écran qui identifie toutes les applications bloquant l’arrêt et leurs raisons de le faire (si elles ont inscrit une raison à l’aide de ShutdownBlockReasonCreate). |
Bonnes pratiques
- Les applications ne doivent pas bloquer l’arrêt. Répondez aux WM_QUERYENDSESSION le plus rapidement possible et reportez les activités de nettoyage jusqu’à ce que le message WM_ENDSESSION soit traité.
- Les applications qui doivent bloquer l’arrêt doivent utiliser la nouvelle fonction ShutdownBlockReasonCreate pour inscrire une chaîne qui explique la raison à l’utilisateur. L’utilisateur peut décider de continuer ou d’annuler l’arrêt.
- Les applications ne peuvent pas compter sur la possibilité de bloquer l’arrêt.