Partager via


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.