Compartir a través de


Cómo: Crear una clave del Registro y establecer su valor en Visual Basic

El método CreateSubKey del objeto My.Computer.Registry se puede usar para crear una clave del Registro.

Procedimiento

Para crear una clave del Registro

  • Use el método CreateSubKey, especificando en qué subárbol se va a colocar la clave, así como el nombre de la clave. El parámetro Subkey no distingue entre mayúsculas y minúsculas. En este ejemplo se crea la clave del Registro MyTestKey en HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    

Para crear una clave del Registro y establecer un valor en él

  1. Use el método CreateSubkey, especificando en qué subárbol se va a colocar la clave, así como el nombre de la clave. En este ejemplo se crea la clave del Registro MyTestKey en HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. Establezca el valor con el método SetValue. Este ejemplo establece el valor de la cadena. "MyTestKeyValue" en "This is a test value".

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
      "MyTestKeyValue", "This is a test value.")
    

Ejemplo

En este ejemplo se crea la clave del Registro MyTestKey en HKEY_CURRENT_USER y, después, establece el valor de la cadena MyTestKeyValue en This is a test value.

My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value.
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
  "MyTestKeyValue", "This is a test value.")

Programación sólida

Examine la estructura del Registro para buscar una ubicación adecuada para la clave. Por ejemplo, puede que quiera abrir la clave HKEY_CURRENT_USER\Software del usuario actual y crear una clave con el nombre de su empresa. Luego agregue los valores del Registro a la clave de la empresa.

Cuando se esté leyendo el Registro desde una aplicación Web, el usuario actual dependerá de la autenticación y suplantación implementadas en la aplicación Web.

Es más seguro escribir datos en la carpeta de usuario (CurrentUser) que en el equipo local (LocalMachine).

Cuando se crea un valor del Registro, se debe decidir qué hacer si ese valor ya existe. Puede que otro proceso, quizás uno malintencionado, ya haya creado el valor y tenga acceso a él. Al colocar datos en el valor del Registro, estos están a disposición del otro proceso. Para evitar esto, use el método GetValue. Devuelve Nothing si la clave ya no existe.

Aunque la clave del Registro esté protegida por listas de control de acceso (ACL), no es seguro almacenar en ella datos secretos (por ejemplo, contraseñas) como texto sin formato.

Las condiciones siguientes pueden provocar una excepción:

Seguridad de .NET Framework

Para ejecutar este proceso, el ensamblado necesita un nivel de privilegio concedido por la clase RegistryPermission. Si ejecuta el proceso en un contexto de confianza parcial, este podría desencadenar 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 que no tenga permiso para el sistema operativo. Para obtener más información, vea Conceptos básicos sobre la seguridad de acceso del código.

Nota

La seguridad de acceso del código (CAS) ha quedado en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones de CAS y generan errores si se usan API relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.

Vea también