lunes, 28 de enero de 2008

El registro desde C#

Asran [asran@ispp.rimed.cu]

Aquí estoy otra vez con el tema del Registro de Configuraciones de Windows. Por lo pronto aprovechando la fuerza con que ha entrado el C# al mundo de la comunicación hombre-maquina me decido a presentarles la Using Microsoft.Win32 que da soporte al trabajo con dicha componente del sistema.

Para no volver a explicar como funciona la rueda, quien no tenga conocimientos de lo que es el registro pues nada, que valla un poquito atrás en ediciones pasadas y lea lo antes publicado por Alien.
Bueno:

Empezamos:

Primero tenemos que adicionar la Using Microsoft.Win32, como debes saber esta es una librería que nos brinda una serie de funciones, tipos de datos etc. Para el trabajo entre otras cosas con el registro de Windows que es el tema que nos ocupa.

Dentro de la Ussing:

-El tipo RegistryKey
Veremos que es un tipo de datos que nos permitirá una ves que lo hallamos instanciado acceder a todo un conjunto funciones que facilitan las labores.
A continuación se listan las funciones más usadas:

Funciones más Utilizadas....
OpenSubKey ---------------------------------> Abre una subclave
CreateSubKey --------------------------------> Crea una subcalve si no existe, si existe la abre
DeleteSubKey --------------------------------> Elimina una subcalve
DeleteSubKeyTree ---------------------------> Elimina una subcalve que contenga subclaves
SetValue -------------------------------------> Crea una valor en la subclave abierta
DeleteValue ---------------------------------> Elimina el valor especificado en la subclave abierta
GetType ------------------------------------> Devuelve el tipo de valor (Binario, Cadena etc...)
GetValue ------------------------------------> Devuelve el valor especificado.

Nota: A la hora de abrir una subclave se recomienda la función CreateSubKey. Las razones de porque no se abren las claves con OpenSubKey habrá que preguntársela a Microsoft.

-El tipo Registry
Este es el tipo de datos que encapsula las Root que le asignaremos posteriormente a la variable de tipo RegistryKey para que pueda direccionar la Root donde estaremos trabajando.

- Los enumerados
Bueno sabiendo como trabajan los Enum en C# aquí tenemos una lista de los que tiene que ver con el tema.

Para tipos de dato.
- RegistryValueKind.DWord
-RegistryValueKind.ExpandString
-RegistryValueKind.MultiString
-RegistryValueKind.QWord
-RegistryValueKind.String
- RegistryValueKind.Unknown


Para Restricciones
-RegistryKeyPermissionCheck.Default
-RegistryKeyPermissionCheck.ReadSubTree
-RegistryKeyPermissionCheck.ReadWriteSubTree


Para la navegación por el árbol
-RegistryValueOptions.DoNotExpandEnvironmentNames;
-RegistryValueOptions.None;

El pollo del arroz con pollo

Bueno lo primero que deberíamos hacer es crear una variable de tipo RegistryKey. Después le asignamos la Root. Sería como sigue:

RegistryKey Reg;
Reg = Registry.LocalMachine;

Bueno teniendo un mínimo técnico sobre el tema pienso que no será difícil entender el código del parche que les presento. Está bien corto y fácil de entender, ya se los adjunto en la folder de las tools!!

Nota: No olvidarse de cerrar el registro con la función Close() al finalizar la jugada porque si no nunca nos vamos a enterar de lo que paso.
Otra nota: la mayoría de los cambios en el registro son efectivas luego de volvernos a loguear en el Sistema.

Bueno people ... espero que las automatizaciones lluevan ahora solucionando problemas.



Artículos relacionados


No hay comentarios: