로그오프
ExitWindows 함수는 현재 사용자를 로그오프합니다. EXW_LOGOFF 플래그를 사용하여 ExitWindowsEx 함수를 호출할 수도 있습니다.
기본적으로 애플리케이션이 ExitWindows 또는 ExitWindowsEx 를 사용하여 로그오프하는 경우 시스템은 각 창에 WM_QUERYENDSESSION 메시지를 보냅니다. 애플리케이션은 이 메시지를 받을 때 TRUE 를 반환하여 종료하는 데 동의합니다. 이 메시지를 처리할 때 애플리케이션이 FALSE 를 반환하면 로그오프 작업이 취소됩니다. 애플리케이션이 WM_QUERYENDSESSION 메시지를 처리하는 경우 다른 애플리케이션 또는 시스템이 최종 세션 요청을 시작한 경우에도 사용자가 로그오프 작업을 취소하도록 허용할 수 있습니다. 예제는 현재 사용자를 로그오프하는 방법을 참조하세요.
애플리케이션이 WM_QUERYENDSESSIONTRUE를 반환하면 다른 애플리케이션이 WM_QUERYENDSESSION 메시지에 응답하는 방식에 관계없이 WM_ENDSESSION 메시지를 수신하고 종료됩니다.
모든 애플리케이션을 강제로 종료하려면 ExitWindowsEx를 사용하고 EXW_FORCE 플래그를 지정합니다. 이렇게 하면 시스템에서 WM_QUERYENDSESSION 메시지를 보낼 수 없습니다 .
또한 시스템은 로그오프 작업 중 모든 프로세스에 CTRL_LOGOFF_EVENT 제어 신호를 보냅니다. 콘솔 애플리케이션은 HandlerRoutine 을 등록하여 이러한 메시지를 처리할 수 있습니다.
ExitWindowsEx라는 프로세스가 대화형 사용자의 로그온 세션에서 실행 중인 경우 로그온 세션의 모든 프로세스가 종료됩니다. ExitWindowsEx를 호출하는 프로세스가 다른 로그온 세션에 있는 경우 알림만 만들어집니다. 프로세스가 종료되지 않습니다.
관련 항목