Compartilhar via


EnvironmentManager Classe

Definição

Uma classe para ler e gravar variáveis de ambiente.

public ref class EnvironmentManager sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Windows.System.EnvironmentManagerContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class EnvironmentManager final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Windows.System.EnvironmentManagerContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class EnvironmentManager
Public NotInheritable Class EnvironmentManager
Herança
Object Platform::Object IInspectable EnvironmentManager
Atributos

Comentários

A API adiciona o acompanhamento de variáveis de ambiente, que é usado para desinstalar de forma limpa artefatos de ambiente gravados pelo aplicativo. O acompanhamento também permite a restauração de variáveis controladas gravadas anteriormente quando um aplicativo é desinstalado.

Para aplicativos empacotados, uma variável criada ou modificada com a nova API será controlada. As variáveis que não são criadas ou modificadas com a nova API continuam a não ser controladas.

A plataforma pode acompanhar a desinstalação de aplicativos empacotados, mas não para aplicativos não empacotados. Para aplicativos não empacotados, o próprio desinstalador do aplicativo é usado para limpo variáveis de ambiente. Um aplicativo não empacotado pode fornecer sua própria limpeza na desinstalação, chamando a API SetEnvironmentVariable com uma cadeia de caracteres vazia para o valor ou RemoveFromPath , mas isso removeria o caminho da variável PATH, ele não o reverter para seu estado anterior.

Ao desinstalar um pacote, a limpeza e a restauração do ambiente são disparadas.

  1. Todas as variáveis criadas pelo aplicativo são excluídas.
  2. Quando uma variável não foi originalmente criada pelo aplicativo, mas foi modificada pela última vez pelo aplicativo, seu valor será restaurado para o último valor definido por outro aplicativo.
  3. As alterações variáveis feitas por mecanismos diferentes do uso dessas APIs (por exemplo, o usuário que faz alterações manuais por meio do RegEdit) serão contabilizadas.

Observação

Uma configuração de aplicativo de uma variável para uma cadeia de caracteres vazia está removendo efetivamente a variável e nenhum novo valor deve ser definido.

Algumas outras coisas a observar:

  • O sistema não usa um ouvinte do Registro. Portanto, a única maneira de saber se algo mudou é se o chamador usar essas APIs para criar ou modificar variáveis ou se um aplicativo que fez isso agora estiver desinstalado.
  • O sistema não controlará as alterações feitas fora da API; e não acompanhará a desinstalação de aplicativos não empacotados.
  • Quando um aplicativo empacotado é desinstalado, qualquer variável que ele criou será excluída, independentemente de quaisquer outras alterações (controladas ou não rastreadas) feitas a essa variável durante seu tempo de vida.
  • Se uma variável não tiver sido criada com essas APIs, ela não será excluída quando um aplicativo empacotado for desinstalado – em vez disso, a última alteração feita por esse aplicativo (por meio das APIs) será revertida.
  • Os aplicativos A-la-carte têm identidade, mas não estão instalados da maneira como os aplicativos empacotados são instalados. Não há nenhuma maneira confiável de detectar quando um aplicativo a-la-carte é desinstalado. Portanto, enquanto uma variável criada/gravada por um aplicativo a-la-carte será rastreada, ela não será limpa quando o aplicativo for desinstalado.

Propriedades

AreChangesTracked

Obtém um valor que indica se as alterações de variável de ambiente são controladas.

IsSupported

Obtém um valor que indica se o EnvironmentManager tem suporte na versão atual do dispositivo/sistema operacional.

Métodos

AddExecutableFileExtension(String)

Adiciona a extensão de arquivo especificada ao final da variável de ambiente PATHEXT .

AppendToPath(String)

Adiciona o caminho especificado ao final da variável de ambiente PATH .

GetEnvironmentVariable(String)

Obtém o valor da variável de ambiente especificada no escopo do EnvironmentManager atual.

GetEnvironmentVariables()

Obtém uma coleção de variáveis de ambiente no escopo do EnvironmentManager atual.

GetForMachine()

Obtém um EnvironmentManager no escopo de todo o sistema.

GetForProcess()

Obtém um EnvironmentManager com escopo para o processo atual.

GetForUser()

Obtém um EnvironmentManager com escopo para o usuário atual.

RemoveExecutableFileExtension(String)

Remove a extensão de arquivo especificada do final da variável de ambiente PATHEXT .

RemoveFromPath(String)

Remove o caminho especificado do final da variável de ambiente PATH .

SetEnvironmentVariable(String, String)

Define o valor da variável de ambiente especificada no escopo do EnvironmentManager atual.

Aplica-se a