Déconnexion
La fonction ExitWindows déconnecte l’utilisateur actuel. Vous pouvez également appeler la fonction ExitWindowsEx avec l’indicateur EXW_LOGOFF.
Par défaut, lorsqu’une application utilise ExitWindows ou ExitWindowsEx pour se déconnecter, le système envoie le message WM_QUERYENDSESSION à chaque fenêtre. Les applications acceptent de se terminer en retournant TRUE lorsqu’elles reçoivent ce message. Si une application retourne FALSE lors du traitement de ce message, l’opération de déconnexion est annulée. Si votre application gère le message WM_QUERYENDSESSION , vous pouvez autoriser l’utilisateur à annuler l’opération de déconnexion, même si une autre application ou le système est à l’origine de la demande de fin de session. Pour obtenir un exemple, consultez Comment déconnecter l’utilisateur actuel.
Lorsqu’une application retourne TRUE pour WM_QUERYENDSESSION, elle reçoit le message WM_ENDSESSION et se termine, quelle que soit la façon dont les autres applications répondent au message WM_QUERYENDSESSION .
Pour forcer l’arrêt de toutes les applications, utilisez ExitWindowsEx et spécifiez l’indicateur EXW_FORCE. Cela empêche le système d’envoyer des messages WM_QUERYENDSESSION .
Le système envoie également le signal de contrôle CTRL_LOGOFF_EVENT à chaque processus pendant une opération de déconnexion. Une application console peut inscrire un HandlerRoutine pour traiter ces messages.
Si le processus appelé ExitWindowsEx est en cours d’exécution dans la session d’ouverture de session de l’utilisateur interactif, tous les processus de la session d’ouverture de session sont arrêtés. Si le processus appelant ExitWindowsEx se trouve dans une autre session d’ouverture de session, seules les notifications sont effectuées ; aucun processus n’est arrêté.
Rubriques connexes