Partilhar via


Como: Criar uma chave do Registro e definir seu valor no Visual Basic

O CreateSubKey método do objeto pode ser usado para criar uma chave do My.Computer.Registry Registro.

Procedimento

Para criar uma chave do Registro

  • Use o CreateSubKey método, especificando em qual seção colocar a chave, bem como o nome da chave. O parâmetro Subkey não diferencia maiúsculas de minúsculas. Este exemplo cria a chave MyTestKey do Registro em HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    

Para criar uma chave do Registro e definir um valor nela

  1. Use o CreateSubkey método, especificando em qual seção colocar a chave, bem como o nome da chave. Este exemplo cria a chave MyTestKey do Registro em HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. Defina o valor com o SetValue método. Este exemplo define o valor da cadeia de caracteres. "MyTestKeyValue" para "Este é um valor de teste".

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
      "MyTestKeyValue", "This is a test value.")
    

Exemplo

Este exemplo cria a chave MyTestKey do Registro em HKEY_CURRENT_USER e, em seguida, define o valor MyTestKeyValue da cadeia de caracteres como This is a test value.

My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value.
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
  "MyTestKeyValue", "This is a test value.")

Programação robusta

Examine a estrutura do Registro para encontrar um local adequado para sua chave. Por exemplo, talvez você queira abrir a chave HKEY_CURRENT_USER\Software do usuário atual e criar uma chave com o nome da sua empresa. Em seguida, adicione os valores do Registro à chave da sua empresa.

Ao ler o registro de um aplicativo Web, o usuário atual depende da autenticação e representação implementadas no aplicativo Web.

É mais seguro gravar dados na pasta do usuário (CurrentUser) do que no computador local (LocalMachine).

Ao criar um valor do Registro, você precisa decidir o que fazer se esse valor já existir. Outro processo, talvez malicioso, pode já ter criado o valor e ter acesso a ele. Quando você coloca dados no valor do Registro, os dados ficam disponíveis para o outro processo. Para evitar isso, use o GetValue método. Ele retorna Nothing se a chave ainda não existir.

Não é seguro armazenar segredos, como senhas, no Registro como texto sem formatação, mesmo que a chave do Registro esteja protegida por ACLs (Listas de Controle de Acesso).

As seguintes condições podem causar uma exceção:

Segurança do .NET Framework

Para executar esse processo, seu assembly requer um nível de privilégio concedido pela RegistryPermission classe. Se você estiver executando em um contexto de confiança parcial, o processo pode lançar uma exceção devido a privilégios insuficientes. Da mesma forma, o usuário deve ter as ACLs corretas para criar ou gravar nas configurações. Por exemplo, um aplicativo local que tenha a permissão de segurança de acesso ao código pode não ter permissão do sistema operacional. Para obter mais informações, consulte Noções básicas de segurança de acesso ao código.

Nota

O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não respeitam as anotações do CAS e produzem erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem procurar meios alternativos de realizar tarefas de segurança.

Consulte também