Partilhar via


Troca rápida de usuário

Quando um usuário faz logon em um computador, o sistema carrega seu perfil. Como cada usuário tem uma conta de usuário exclusiva, isso permite que vários usuários compartilhem um computador. Quando um usuário faz logon, as configurações da área de trabalho, arquivos, favoritos e histórico que eles veem são deles; eles não podem ser acessados por outros usuários. Quando esse utilizador faz logoff, o seu perfil é preservado para a próxima vez que iniciar sessão. Em sistemas operativos mais antigos, um usuário era obrigado a terminar sessão antes que outro usuário pudesse iniciar sessão. A partir do Windows XP, um utilizador não precisa terminar sessão para permitir que outro utilizador inicie sessão. Em vez disso, é possível que vários usuários façam logon e alternem rapidamente entre suas contas abertas. Este recurso é conhecido como troca rápida de usuário. Mudar para outra conta não altera o estado dos aplicativos que um usuário está executando no momento. Suponha, por exemplo, que um usuário permita que outro usuário mude para sua conta enquanto o primeiro usuário está conectado. Quando o primeiro usuário muda de volta para sua conta, seus aplicativos são executados e suas conexões de rede são preservadas. Portanto, parece que ambos os usuários estão usando simultaneamente o computador.

Se seus aplicativos estiverem em conformidade com os requisitos do logotipo do Windows 2000, eles devem funcionar com a troca rápida do usuário no Windows XP e sistemas operacionais posteriores. No entanto, é importante ter esse cenário em mente ao desenvolver um aplicativo para que ele se comporte como os usuários esperariam. Use as seguintes diretrizes ao escrever seus aplicativos:

  • Implemente a separação de perfis completa. O sistema fornece uma infraestrutura subjacente que suporta a separação de dados do usuário, configurações do usuário e configurações do computador. Por exemplo, use a pasta Documentos do usuário para armazenar dados criados pelo usuário. Para localizar um diretório para dados específicos do aplicativo, use o sistema de de pasta conhecido com FOLDERID_RoamingAppData) ou, para sistemas operacionais mais antigos, o sistemaCSIDLcom CSIDL_APPDATA). Use FOLDERID_LocalAppData ou CSIDL_LOCAL_APPDATA para dados que não devem estar disponíveis para o usuário em outros computadores, como arquivos temporários.
  • Registre-se para receber a notificação de uma mudança de usuário. Normalmente, um aplicativo não precisa ser notificado quando a mudança ocorre. No entanto, se o seu aplicativo precisar ser notificado de uma alteração de sessão, ele poderá se registrar para receber uma mensagem WM_WTSSESSION_CHANGE.
  • Esteja ciente de outras instâncias do seu aplicativo. Por exemplo, há momentos em que um aplicativo deve baixar uma atualização da Internet. A atualização pode falhar se outro usuário estiver executando simultaneamente uma instância do aplicativo em outra sessão. Mesmo que a atualização seja bem-sucedida, ela pode fazer com que outras instâncias em execução do aplicativo se comportem de maneira imprevisível. Portanto, é melhor executar uma atualização dinâmica somente se nenhuma outra instância do aplicativo estiver em execução. Antes de baixar uma atualização de aplicativo, pode ser apropriado implementar um método que sinalize todas as instâncias em execução do aplicativo para salvar dados e sair de forma limpa.