Compartir a través de


Cómo: Leer un valor de una clave del Registro en Visual Basic

El GetValue método del My.Computer.Registry objeto se puede usar para leer valores en el Registro de Windows.

Si la clave , "Software\MyApp" en el ejemplo siguiente, no existe, se produce una excepción. Si el ValueName, "Name" en el ejemplo siguiente, no existe, Nothing se devuelve.

El GetValue método también se puede usar para determinar si existe un valor determinado en una clave del Registro específica.

Cuando el código lee el registro de una aplicación web, el usuario actual viene determinado por la autenticación y suplantación que se implementa en la aplicación web.

Para leer un valor de una clave del Registro

  • Use el método GetValue, especificando la ruta de acceso y el nombre, para leer un valor de la clave del registro. En el ejemplo siguiente se lee el valor Name de HKEY_CURRENT_USER\Software\MyApp y se muestra en un cuadro de mensaje.

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

Este ejemplo de código también está disponible como fragmento de código de IntelliSense. En el selector de fragmentos de código, se encuentra en el Registro del sistema > operativo Windows. Para obtener más información, vea los fragmentos de código .

Para determinar si existe un valor en una clave del Registro

  • Use el GetValue método para recuperar el valor. El código siguiente comprueba si el valor existe y devuelve un mensaje si no lo hace.

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

Programación sólida

El registro contiene claves de nivel superior o raíz que se usan para almacenar datos. Por ejemplo, la clave raíz de HKEY_LOCAL_MACHINE se usa para almacenar la configuración de nivel de máquina que usan todos los usuarios, mientras que HKEY_CURRENT_USER se usa para almacenar datos específicos de un usuario individual.

Las condiciones siguientes pueden provocar una excepción:

Seguridad de .NET Framework

Para ejecutar este proceso, el ensamblado requiere un nivel de privilegio concedido por la RegistryPermission clase . Si se ejecuta en un contexto de confianza parcial, el proceso podría producir una excepción debido a privilegios insuficientes. Del mismo modo, el usuario debe tener las ACL correctas para poder crear o escribir en las configuraciones. Por ejemplo, es posible que una aplicación local que tenga el permiso de seguridad de acceso al código no tenga permiso de sistema operativo. Para obtener más información, consulte Conceptos básicos de seguridad de acceso al código.

Nota:

La seguridad de acceso al código (CAS) está en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones CAS y producen errores si se utilizan las APIs relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.

Consulte también