Partager via


Modifications d’arrêt pour Windows Vista

Le tableau suivant résume les différences entre l’arrêt sur Windows Vista et Windows XP.

Caractéristique 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 de mettre fin à 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 permet à l’utilisateur d’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 ne sait peut-être pas que l’arrêt a été annulé. Si une application retourne FAUX 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 ou applications console 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 FAUX 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 End Now, l’application est arrêtée. Si l’utilisateur clique sur le bouton Annuler, l’arrêt est annulé et l’application continue à 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 (s’ils ont enregistré une raison à l’aide de ShutdownBlockReasonCreate).

 

Meilleures pratiques

  • Les applications ne doivent pas bloquer l’arrêt. Répondez à WM_QUERYENDSESSION le plus rapidement possible et reportez les activités de nettoyage jusqu’au traitement du message WM_ENDSESSION.
  • Les applications qui doivent bloquer l’arrêt doivent utiliser la nouvelle fonction ShutdownBlockReasonCreate pour inscrire une chaîne qui explique la raison de l’utilisateur. L’utilisateur peut décider s’il faut continuer ou annuler l’arrêt.
  • Les applications ne peuvent pas s’appuyer sur la possibilité de bloquer l’arrêt.