Logoff

A função ExitWindows faz logoff do usuário atual. Você também pode chamar a função ExitWindowsEx com o sinalizador EXW_LOGOFF.

Por padrão, quando um aplicativo usa ExitWindows ou ExitWindowsEx para fazer logoff, o sistema envia a mensagem WM_QUERYENDSESSION para cada janela. Os aplicativos concordam em encerrar retornando TRUE quando recebem essa mensagem. Se qualquer aplicativo retornar FALSE ao processar essa mensagem, a operação de logoff será cancelada. Se o aplicativo manipular a mensagem de WM_QUERYENDSESSION , você poderá permitir que o usuário cancele a operação de logoff, mesmo que outro aplicativo ou sistema tenha originado a solicitação de sessão final. Para obter um exemplo, consulte Como fazer logoff do usuário atual.

Quando um aplicativo retorna TRUE para WM_QUERYENDSESSION, ele recebe a mensagem WM_ENDSESSION e é encerrado, independentemente de como os outros aplicativos respondem à mensagem WM_QUERYENDSESSION .

Para forçar o encerramento de todos os aplicativos, use ExitWindowsEx e especifique o sinalizador EXW_FORCE. Isso impede que o sistema envie mensagens WM_QUERYENDSESSION .

O sistema também envia o sinal de controle CTRL_LOGOFF_EVENT para cada processo durante uma operação de logoff. Um aplicativo de console pode registrar uma HandlerRoutine para processar essas mensagens.

Se o processo chamado ExitWindowsEx estiver em execução na sessão de logon do usuário interativo, todos os processos na sessão de logon serão encerrados. Se o processo que chama ExitWindowsEx estiver em alguma outra sessão de logon, somente as notificações serão feitas; nenhum processo é encerrado.

Como fazer logoff do usuário atual