Compartir a través de


Cambio rápido de usuario

Cuando un usuario inicia sesión en un equipo, el sistema carga su perfil. Dado que cada usuario tiene una cuenta de usuario única, esto permite que varios usuarios compartan un equipo. Cuando un usuario inicia sesión, la configuración de escritorio, los archivos, los favoritos y el historial que ven son suyos; no pueden acceder a ellos otros usuarios. Cuando ese usuario cierra sesión, su perfil se conserva la próxima vez que inicie sesión. En sistemas operativos anteriores, se necesitaba un usuario para cerrar sesión antes de que otro usuario pudiera iniciar sesión. A partir de Windows XP, un usuario no tiene que cerrar sesión para permitir que otro usuario inicie sesión. En su lugar, es posible que varios usuarios inicien sesión y cambien rápidamente entre sus cuentas abiertas. Esta característica se conoce como cambio rápido de usuario. Cambiar a otra cuenta no cambia el estado de las aplicaciones que un usuario está ejecutando actualmente. Supongamos, por ejemplo, que un usuario permite que otro usuario cambie a su cuenta mientras el primer usuario ha iniciado sesión. Cuando el primer usuario vuelve a su cuenta, sus aplicaciones se ejecutan y se conservan sus conexiones de red. Por lo tanto, parece que ambos usuarios usan simultáneamente el equipo.

Si las aplicaciones cumplen los requisitos de logotipo de Windows 2000, deben funcionar con el cambio rápido de usuario en Windows XP y sistemas operativos posteriores. Sin embargo, es importante tener en cuenta este escenario al desarrollar una aplicación para que se comporte como esperarían los usuarios. Use las instrucciones siguientes al escribir las aplicaciones:

  • Implemente la separación de perfiles verdadera. El sistema proporciona una infraestructura subyacente que admite la separación de datos de usuario, configuración de usuario y configuración del equipo. Por ejemplo, use la carpeta Documentos del usuario para almacenar datos creados por el usuario. Para buscar un directorio para datos específicos de la aplicación, use el sistema de carpeta conocida con FOLDERID_RoamingAppData) o, para sistemas operativos más antiguos, el sistema CSIDL con CSIDL_APPDATA). Use FOLDERID_LocalAppData o CSIDL_LOCAL_APPDATA para los datos que no deben estar disponibles para el usuario en otros equipos, como archivos temporales.
  • Registre para recibir notificaciones de un cambio de usuario. Normalmente, una aplicación no necesita recibir una notificación cuando se produce el cambio. Sin embargo, si la aplicación debe recibir una notificación de un cambio de sesión, puede registrarse para recibir un mensaje de WM_WTSSESSION_CHANGE.
  • Tenga en cuenta otras instancias de la aplicación. Por ejemplo, hay ocasiones en las que una aplicación debe descargar una actualización de Internet. La actualización puede producir un error si otro usuario ejecuta simultáneamente una instancia de la aplicación en otra sesión. Incluso si la actualización se realiza correctamente, la actualización puede hacer que otras instancias en ejecución de la aplicación se comporten de forma impredecible. Por lo tanto, es mejor realizar una actualización dinámica solo si no se ejecutan otras instancias de la aplicación. Antes de descargar una actualización de la aplicación, podría ser adecuado implementar un método que indique a todas las instancias en ejecución de la aplicación que guarden los datos y salgan de forma limpia.