Leitura e gravação no registro usando o Namespace Microsoft. Win32 (Visual Basic)
Embora My.Computer.Registry deva cobrir suas necessidades básicas quando estiver programando contra o registro, você também pode usar as classesRegistry e RegistryKey no namespace Microsoft.Win32 do .NET Framework.
Chaves na Classe do Registro
A classe Registry fornece as chaves do registro básicas que podem ser usadas para acessar subchaves e seus valores.As chaves base são somente para leitura.A tabela a seguir lista e descreve as sete chaves expostas pela classe Registry.
Chave |
Descrição |
---|---|
Define os tipos de documentos e as propriedades associadas a esses tipos. |
|
Contém informações de configuração de hardware que não são específicas de usuário. |
|
Contém informações sobre as preferências do usuário atual, tais como variáveis de ambiente. |
|
Contém dados de registro dinâmico, tais como os usados pelo Virtual Device Drivers. |
|
Contém cinco subchaves (Hardware, SAM, Security, Software, e System) que armazenam os dados de configuração para o computador local. |
|
Contém informações de desempenho para componentes de software. |
|
Contém informações sobre as preferências padrão do usuário. |
Observação de segurança |
---|
É mais seguro gravar dados associados ao usuário atual (CurrentUser) do que no computador local (LocalMachine).Uma condição que é chamada geralmente como "squatting" ocorre quando a chave que você está criando tiver sido criada por outro processo previamente, possivelmente mal-intencionado.Para evitar que isso ocorra, use um método, como GetValue, que retorna Nothing se a chave já existe. |
Ler um Valor do Registro
O código a seguir mostra como ler uma sequência do 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 depois grava uma sequência para 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
Consulte também
Referência
Try...Catch...Instrução finally (Visual Basic)
Conceitos
Segurança e registro (Visual Basic)