Partilhar via


Leitura e Gravação no Registro Usando o Namespace Microsoft.Win32

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

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 de usuário.

CurrentUser

Contém informações sobre as preferências do usuário atual, tais como variáveis de ambiente.

DynData

Contém dados de registro dinâmico, tais como os usados pelo Virtual Device Drivers.

LocalMachine

Contém cinco subchaves (Hardware, SAM, Security, Software, e System) que armazenam os dados de configuração para o computador local.

PerformanceData

Contém informações de desempenho para componentes de software.

Users

Contém informações sobre as preferências padrão do usuário.

Observação de segurança:

É mais seguro gravar dados para o (usuário corrente CurrentUser) que para o (computador localLocalMachine). 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 As String
keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If (Not regVersion Is 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 As Microsoft.Win32.RegistryKey
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 (Not regVersion Is Nothing) Then
    intVersion = regVersion.GetValue("Version", 0)
    intVersion = intVersion + 1
    regVersion.SetValue("Version", intVersion)
    regVersion.Close()
End If

Consulte também

Tarefas

Solução de problemas: Manipulando o registro

Conceitos

Visão Geral sobre a Manipulação Estruturada de Exceções para o Visual Basic

Tarefas comuns do Registro

Segurança e o Registro

Leitura do e gravação para o Registro usando My

Referência

SystemException

ApplicationException

Objeto My.Computador.Registro