Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aunque My.Computer.Registry
debe cubrir sus necesidades básicas al programar con el registro, también puede usar las clases Registry y RegistryKey en el espacio de nombres Microsoft.Win32 de .NET.
Claves de la clase Registry
La Registry clase proporciona las claves base del Registro que se pueden usar para tener acceso a subclaves y sus valores. Las claves base son de solo lectura. En la tabla siguiente se enumeran y describen las siete claves expuestas por la Registry clase .
clave | Descripción |
---|---|
ClassesRoot | Define los tipos de documentos y las propiedades asociadas a esos tipos. |
CurrentConfig | Contiene información de configuración de hardware que no es específica del usuario. |
CurrentUser | Contiene información sobre las preferencias de usuario actuales, como las variables de entorno. |
DynData | Contiene datos dinámicos del Registro, como los usados por los controladores de dispositivos virtuales. |
LocalMachine | Contiene cinco subclaves (Hardware, SAM, Seguridad, Software y Sistema) que contienen los datos de configuración del equipo local. |
PerformanceData | Contiene información de rendimiento para componentes de software. |
Users | Contiene información sobre las preferencias de usuario predeterminadas. |
Importante
Es más seguro escribir datos en el usuario actual (CurrentUser) que en el equipo local (LocalMachine). Cuando la clave que está creando fue creada anteriormente por otro proceso posiblemente malintencionado, se produce una condición normalmente conocida como "squatting". Para evitar que esto ocurra, use un método, como GetValue, que devuelve Nothing
si la clave aún no existe.
Leer un valor del Registro
En el código siguiente se muestra cómo leer una cadena de HKEY_CURRENT_USER.
Dim regVersion As Microsoft.Win32.RegistryKey
Dim keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
intVersion = regVersion.GetValue("Version", 0)
regVersion.Close()
End If
El código siguiente lee, incrementa y, a continuación, escribe una cadena en HKEY_CURRENT_USER.
Dim regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
"SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
' Key doesn't exist; create it.
regVersion = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(
"SOFTWARE\\Microsoft\\TestApp\\1.0")
End If
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
intVersion = regVersion.GetValue("Version", 0)
intVersion = intVersion + 1
regVersion.SetValue("Version", intVersion)
regVersion.Close()
End If