Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Embora My.Computer.Registry deva cobrir suas necessidades básicas ao programar contra o registro, você também pode usar as classes Registry e RegistryKey no namespace Microsoft.Win32 do .NET.
Chaves na classe de Registro
A Registry classe fornece as chaves base do Registro que podem ser usadas para acessar subchaves e seus valores. As chaves base em si são somente leitura. A tabela a seguir lista e descreve as sete chaves expostas pela Registry classe.
| Chave | Descrição |
|---|---|
| ClassesRoot | Define os tipos de documentos e as propriedades associadas a esses tipos. |
| CurrentConfig | Contém informações de configuração de hardware que não são específicas do usuário. |
| CurrentUser | Contém informações sobre as preferências atuais do usuário, como variáveis ambientais. |
| DynData | Contém dados dinâmicos do Registro, como os usados pelos Drivers de Dispositivo Virtual. |
| LocalMachine | Contém cinco subchaves (Hardware, SAM, Segurança, Software e Sistema) que contêm os dados de configuração do computador local. |
| PerformanceData | Contém informações de desempenho para componentes de software. |
| Users | Contém informações sobre as preferências de usuário padrão. |
Importante
É mais seguro gravar dados no usuário atual (CurrentUser) do que no computador local (LocalMachine). Uma condição que costuma ser chamada de "squatting" ocorre quando a chave que você está criando foi criada anteriormente por outro processo, possivelmente mal-intencionado. Para evitar que isso ocorra, use um método, como GetValue, que retorna Nothing se a chave ainda não existir.
Lendo um valor do Registro
O código a seguir mostra como ler uma cadeia de caracteres de HKEY_CURRENT_USER.
Dim regVersion As Microsoft.Win32.RegistryKey
Dim keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
intVersion = regVersion.GetValue("Version", 0)
regVersion.Close()
End If
O código a seguir lê, incrementa e grava uma cadeia de caracteres em HKEY_CURRENT_USER.
Dim regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
"SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
' Key doesn't exist; create it.
regVersion = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(
"SOFTWARE\\Microsoft\\TestApp\\1.0")
End If
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
intVersion = regVersion.GetValue("Version", 0)
intVersion = intVersion + 1
regVersion.SetValue("Version", intVersion)
regVersion.Close()
End If