Variáveis de ambiente do usuário

As variáveis de ambiente especificam caminhos de pesquisa para arquivos, diretórios para arquivos temporários, opções específicas do aplicativo e outras informações semelhantes. O sistema mantém um bloco de ambiente para cada usuário e um para o computador. O bloco de ambiente do sistema representa variáveis de ambiente para todos os usuários do computador específico. O bloco de ambiente de um usuário representa as variáveis de ambiente que o sistema mantém para esse usuário específico, incluindo o conjunto de variáveis de ambiente do sistema.

Por padrão, cada processo recebe uma cópia do bloco de ambiente para seu processo pai. Normalmente, esse é o bloco de ambiente para o usuário que está conectado. Um processo pode especificar diferentes blocos de ambiente para seus processos filho usando a função CreateProcess ou CreateProcessAsUser .

Para adicionar ou modificar variáveis de ambiente, o usuário seleciona Sistema no Painel de Controle e, em seguida, seleciona a guia Ambiente. O usuário também pode adicionar ou modificar variáveis de ambiente em um prompt de comando usando o comando set. As variáveis de ambiente criadas com o comando set aplicam-se somente à janela de comando na qual estão definidas e aos processos filho. Para obter mais informações, digite set /? em um prompt de comando.

Para recuperar uma cópia do bloco de ambiente para um determinado usuário, use a função CreateEnvironmentBlock . Para liberar um bloco de ambiente criado por CreateEnvironmentBlock, use a função DestroyEnvironmentBlock . Essas funções fazem referência a um ponteiro para um bloco de ambiente. O bloco de ambiente é uma matriz de cadeias de caracteres Unicode terminadas em nulo. A lista termina com dois nulos (\0\0).

Para expandir uma cadeia de caracteres que contém variáveis de ambiente usando o bloco de ambiente para um usuário especificado, use a função ExpandEnvironmentStringsForUser .