Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 colmeia colocar a chave, assim 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 colmeia colocar a chave, assim 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, você pode querer abrir a chave de 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 registo de uma aplicação Web, o utilizador atual depende da autenticação e personificação implementadas na aplicação 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 registo é somente leitura (UnauthorizedAccessException).
Segurança do .NET Framework
Para executar este processo, a sua assemblagem requer um nível de privilégio concedido pela classe RegistryPermission. Se estiver a executar num contexto de confiança parcial, o processo pode produzir uma exceção devido a privilégios insuficientes. Da mesma forma, o utilizador 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 mais informações, consulte Princípios básicos da segurança de acesso ao código.
Observação
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.