Cómo: Leer un valor a partir de una clave del Registro en Visual Basic
El método GetValue del objeto My.Computer.Registry se puede utilizar para leer valores en el Registro de Windows.
Si la clave no existe, “software \MyApp” en el ejemplo siguiente, se produce una excepción.si no existe ValueName, “nombre” en el ejemplo siguiente, se devuelve Nothing .
El método de GetValue también se puede utilizar 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, la suplantación determina el usuario actual la autenticación y que se implementa en la aplicación web.
Para leer un valor en una clave del Registro
Utilice el método GetValue (especificando la ruta de acceso y el nombre) para leer un valor de la clave del Registro.El ejemplo siguiente lee el valor Name de HKEY_CURRENT_USER\Software\MyApp y lo 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 Sistema operativo Windows > Registro.Para obtener más información, vea Fragmentos de código.
Para determinar si un valor existe en una clave del Registro
Utilice el método GetValue para recuperar el valor.El código comprueba siguientes 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 eficaz
El Registro contiene claves de nivel superior o raíz que se utilizan para almacenar datos.Por ejemplo, la tecla principal de HKEY_LOCAL_MACHINE se utiliza para almacenar una configuración de nivel del equipo que utilizan todos los usuarios, mientras que HKEY_CURRENT_USER se utiliza para almacenar datos específicos de un usuario individual.
Las condiciones siguientes pueden provocar una excepción:
El nombre de la clave es Nothing (ArgumentNullException).
El usuario no tiene permiso para leer claves del Registro (SecurityException).
El nombre de la clave supera el límite de 255 caracteres (ArgumentException).
Seguridad
Para ejecutar este proceso, el ensamblado requiere un nivel de privilegios concedido por la clase RegistryPermission.Si ejecuta el proceso en un contexto de confianza parcial, podría desencadenarse una excepción por falta de privilegios.De igual manera, el usuario debe tener las ACL correctas para crear o escribir en la configuración.Por ejemplo, una aplicación local que tenga permiso de seguridad de acceso del código puede no tener permiso para el sistema operativo.Para obtener más información, vea Conceptos básicos sobre la seguridad de acceso del código.