Una introducción al trabajo con el registro de Windows

El Registro es simplemente una base de datos que una aplicación puede usar para almacenar y recuperar información de configuración (último tamaño y posición de la ventana, opciones e información del usuario o cualquier otro dato de configuración). El registro también contiene información sobre Windows (95/98 / NT) y sobre su configuración de Windows.

La "base de datos" del Registro se almacena como un archivo binario. Para encontrarlo, ejecute regedit.exe (utilidad del editor de registro de Windows) en su directorio de Windows. Verá que la información en el Registro está organizada de manera similar al Explorador de Windows. Podemos usar regedit.exe para ver información del registro, cambiarla o agregarle información. Es obvio que las modificaciones de la base de datos del registro podrían provocar un bloqueo del sistema (por supuesto, si no sabe lo que está haciendo).

INI vs. Registro

Probablemente se sabe muy bien que en los días de Windows 3.xx los archivos INI eran una forma popular de almacenar información de la aplicación y otras configuraciones configurables por el usuario. El aspecto más aterrador de los archivos INI es que son solo archivos de texto que el usuario puede editar fácilmente (cambiarlos o incluso eliminarlos). En Windows de 32 bits, Microsoft recomienda usar el Registro para almacenar el tipo de información que normalmente colocaría en los archivos INI (es menos probable que los usuarios modifiquen las entradas del registro).

Delphi proporciona soporte completo para cambiar entradas en el Registro del sistema de Windows: a través de la clase TRegIniFile (la misma interfaz básica que la clase TIniFile para usuarios de archivos INI con Delphi 1.0) y la clase TRegistry (contenedor de bajo nivel para el registro de Windows y las funciones que operan en el registro).

Consejo simple: escribir en el registro

Como se mencionó anteriormente en este artículo, las operaciones básicas de registro (mediante manipulación de código) son leer información del Registro y escribir información en la base de datos.

El siguiente fragmento de código cambiará el fondo de pantalla de Windows y deshabilitará el protector de pantalla usando la clase TRegistry. Antes de que podamos usar TRegistry, debemos agregar la unidad de Registro a la cláusula de usos en la parte superior del código fuente.

~~~~~~~~~~~~~~~~~~~~~~~~~
utiliza el registro;
procedimiento TForm1.FormCreate (remitente: TObject);
var
reg: TRegistry;
empezar
reg: = TRegistry.Create;
con reg comience
tratar
si OpenKey ('\ Panel de control \ escritorio', Falso) entonces comience
// cambia el fondo de pantalla y recubrelo
reg.WriteString ('Fondo de pantalla', 'c: \ windows \ CIRCLES.bmp');
reg.WriteString ('TileWallpaper', '1');
// deshabilitar protector de pantalla // ('0' = deshabilitar, '1' = habilitar)
reg.WriteString ('ScreenSaveActive', '0');
// actualiza los cambios de inmediato
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0, nil, SPIF_SENDWININICHANGE);
final
finalmente
reg.Free;
final;
final;
final;
~~~~~~~~~~~~~~~~~~~~~~~~~

Esas dos líneas de código que comienzan con SystemParametersInfo ... obligan a Windows a actualizar el fondo de pantalla y la información del protector de pantalla de inmediato. Cuando ejecute su aplicación, verá que el mapa de bits del fondo de pantalla de Windows cambia a la imagen Circles.bmp, es decir, si tiene una imagen circles.bmp en su directorio de Windows. (Nota: su protector de pantalla ahora está desactivado).