Compartilhar via


Como ler um valor de uma chave do Registro no Visual Basic

O GetValue método do My.Computer.Registry objeto pode ser usado para ler valores no Registro do Windows.

Se a chave , "Software\MyApp" no exemplo a seguir, não existir, uma exceção será gerada. Se o ValueName"Nome" no exemplo a seguir não existir, Nothing será retornado.

O GetValue método também pode ser usado para determinar se existe um determinado valor em uma chave do Registro específica.

Quando o código lê o registro de um aplicativo Web, o usuário atual é determinado pela autenticação e representação que é implementada no aplicativo Web.

Para ler um valor de uma chave do Registro

  • Use o GetValue método, especificando o caminho e o nome) para ler um valor da chave do Registro. O exemplo a seguir lê o valor NameHKEY_CURRENT_USER\Software\MyApp e o exibe em uma caixa de mensagem.

    Dim readValue = My.Computer.Registry.GetValue(
        "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing)
    MsgBox("The value is " & readValue)
    

Este exemplo de código também está disponível como um snippet de código do IntelliSense. No seletor de snippet de código, ele está localizado em Sistema Operacional Windows > Registro. Para obter mais informações, confira Snippets de Código.

Para determinar se existe um valor em uma chave do Registro

  • Use o GetValue método para recuperar o valor. O código a seguir verifica se o valor existe e retorna uma mensagem se não existir.

    If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp",
    "TestValue", Nothing) Is Nothing Then
        MsgBox("Value does not exist.")
    End If
    

Programação robusta

O registro contém chaves de nível superior ou raiz que são usadas para armazenar dados. Por exemplo, a chave raiz HKEY_LOCAL_MACHINE é usada para armazenar as configurações de nível de computador usadas por todos os usuários, enquanto HKEY_CURRENT_USER é usada para armazenar dados específicos para um usuário individual.

As seguintes condições podem causar uma exceção:

Segurança do .NET Framework

Para executar esse processo, o 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 poderá gerar uma exceção devido a privilégios insuficientes. Da mesma forma, o usuário deve ter as ACLs corretas para criar ou alterar configurações. Por exemplo, um aplicativo local que tem 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.

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 honram as anotações CAS e geram erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para realizar tarefas de segurança.

Consulte também