다음을 통해 공유


로그오프

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를 호출하는 프로세스가 다른 로그온 세션에 있는 경우 알림만 만들어집니다. 프로세스가 종료되지 않습니다.

현재 사용자를 로그오프하는 방법