Eu gostaria de poder consultar separadamente as variáveis de ambiente do usuário e do sistema.
Como eles são mostrados na Environment Variables
caixa de diálogo.
Usando as funções GetEnvironmentVariable
e, *getenv*
só posso obter os valores obtidos após a fusão dos dois conjuntos de variáveis, com as definidas pelo usuário tendo precedência.
Exatamente como o set
comando mostra na linha de comando.
Esse recurso seria útil para evitar o fallback silencioso em uma variável definida pelo sistema quando uma variável definida pelo usuário com o mesmo nome não existe.
Mesmo uma API não documentada seria adequada.
ExpandEnvironmentStringsForUser
( CreateEnvironmentBlock
) só usará as variáveis de sistema se você passar um identificador de token NULL, mas não acho que haja uma função que só forneça as variáveis de usuário, então você deve lê-las manualmente no registro.
Lembre-se de que existem duas chaves de variáveis de usuário no registro: Environment
e Volatile Environment
. A chave volátil ainda tem subchaves em algumas versões do Windows.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras