Cerrar sesión

La función ExitWindows cierra la sesión del usuario actual. También puede llamar a la función ExitWindowsEx con la marca EXW_LOGOFF.

De forma predeterminada, cuando una aplicación usa ExitWindows o ExitWindowsEx para cerrar sesión, el sistema envía el mensaje WM_QUERYENDSESSION a cada ventana. Las aplicaciones aceptan finalizar devolviendo TRUE cuando reciben este mensaje. Si alguna aplicación devuelve FALSE al procesar este mensaje, se cancela la operación de cierre de sesión. Si la aplicación controla el mensaje de WM_QUERYENDSESSION , puede permitir que el usuario cancele la operación de cierre de sesión, incluso si otra aplicación o el sistema originaron la solicitud de la sesión final. Para obtener un ejemplo, vea Cómo cerrar la sesión del usuario actual.

Cuando una aplicación devuelve TRUE para WM_QUERYENDSESSION, recibe el mensaje WM_ENDSESSION y finaliza, independientemente de cómo responden las demás aplicaciones al mensaje WM_QUERYENDSESSION .

Para forzar que todas las aplicaciones finalicen, use ExitWindowsEx y especifique la marca EXW_FORCE. Esto impide que el sistema envíe mensajes WM_QUERYENDSESSION .

El sistema también envía la señal de control CTRL_LOGOFF_EVENT a cada proceso durante una operación de cierre de sesión. Una aplicación de consola puede registrar un handlerRoutine para procesar estos mensajes.

Si el proceso que llamó a ExitWindowsEx se ejecuta en la sesión de inicio de sesión del usuario interactivo, se finalizan todos los procesos de la sesión de inicio de sesión. Si el proceso que llama a ExitWindowsEx está en alguna otra sesión de inicio de sesión, solo se realizan las notificaciones; no se finaliza ningún proceso.

Cómo cerrar la sesión del usuario actual