Como: Criar uma chave de registro e defina seu valor em Visual Basic
O método CreateSubKey do objeto My.Computer.Registry pode ser usado para criar uma chave do Registro.
Procedimento
Para criar uma chave do Registro
Use o método CreateSubKey, especificando em que 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 de registro MyTestKey em HKEY_CURRENT_USER.
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Para criar uma chave do Registro e definir um valor dentro dela
Use o método CreateSubkey, especificando em que seção colocar a chave, bem como o nome da chave. Este exemplo cria a chave de registro MyTestKey em HKEY_CURRENT_USER.
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Defina o valor com o método SetValue. Este exemplo define a valor da sequência 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 o chave do Registro MyTestKey em HKEY_CURRENT_USER e, em seguida, define o valor da sequência de caracteres MyTestKeyValue para 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 localizar um local adequado para a sua chave. Por exemplo, você pode desejar abrir a chave HKEY_CURRENT_USER\\Software do usuário atual, e criar uma chave com nome da sua empresa. Em seguida, adicione os valores do registro a chave da sua empresa.
Quando se esta lendo o registro para um aplicativo da Web, o usuário atual depende da autenticação e representação implementada no aplicativo da Web.
É mais seguro gravar dados na pasta de usuário (CurrentUser) em vez de no computador local (LocalMachine).
Quando você cria um valor do registro, é preciso decidir o que fazer se esse valor já existe. Outro processo, talvez um arquivo mal-intencionado, talvez já criou o valor e faz acesso a ele. Quando você coloca o valor dos dados no valor do registro, os dados estão disponíveis para o outro processo. Para evitar isso, use o método GetValue. Ele retorna Nothing se a chave ainda não existir.
Ele é não seguro para armazenamento de segredos, como senhas, ele registra como texto simples, mesmo se a chave do registro estiver protegido por ACLs) (listas de controle de acesso.
As seguintes condições podem causar uma exceção:
O nome da chave é Nothing (ArgumentNullException).
O usuário não tem permissões para criar chaves do Registro (SecurityException).
O nome da chave excede o limite de 255 caracteres (ArgumentException).
A chave é fechada (IOException).
A chave do registro é somente leitura (UnauthorizedAccessException).
Segurança
Para executar esse processo, seu assembly requer um nível de privilégio concedido pela classe RegistryPermission. Se você estiver executando em um contexto parcialmente confiável, o código 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 as configurações. Por exemplo, um aplicativo local que possui a permissão de segurança de acesso ao código talvez não tenha permissão de sistema operacional. Para obter mais informações, consulte Noções Básicas sobre Segurança de Accesso a Código.
Consulte também
Tarefas
Solução de problemas: Manipulando o registro (Visual Basic)
Demonstra Passo a passo: Criando uma chave de registro e alterando os valores (Visual Basic)