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âmetroSubkey
não diferencia maiúsculas de minúsculas. Este exemplo cria a chaveMyTestKey
do Registro em HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Para criar uma chave do Registro e definir um valor nela
Use o
CreateSubkey
método, especificando em qual seção colocar a chave, bem como o nome da chave. Este exemplo cria a chaveMyTestKey
do Registro em HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
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:
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 está fechada (IOException).
A chave do Registro é somente leitura (UnauthorizedAccessException).
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.