Partilhar 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á lançada. 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 um determinado valor existe 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 Name e o exibe em uma caixa de HKEY_CURRENT_USER\Software\MyApp 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 trecho de código IntelliSense. No seletor de trechos de código, ele está localizado no Registro do Sistema > Operacional Windows. Para obter mais informações, consulte Trechos 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 configurações no nível da máquina usadas por todos os usuários, enquanto HKEY_CURRENT_USER é usada para armazenar dados específicos de um usuário individual.

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

Segurança do .NET Framework

Para executar esse processo, seu 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 pode lançar uma exceção devido a privilégios insuficientes. Da mesma forma, o usuário 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 obter mais informações, consulte Noções básicas de segurança de acesso ao código.

Nota

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.

Consulte também