Trabajar con el registro de Windows desde aplicaciones de Delphi

click fraud protection

El Registro es simplemente una base de datos que una aplicación puede usar para almacenar y recuperar la configuración. información (tamaño y posición de la última ventana, opciones e información del usuario o cualquier otra configuración datos). El registro también contiene información sobre Windows (95/98 / NT) y sobre la 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 a Explorador de Windows. Podemos usar regedit.exe para ver información del registro, cambiarla o agregarle información. Es obvio que las modificaciones en la base de datos del registro podrían provocar un bloqueo del sistema (por supuesto, si no sabe lo que está haciendo).

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).

instagram viewer

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 el TIniFile clase para usuarios de archivos INI con Delphi 1.0) y clase TRegistry (contenedor de bajo nivel para el registro de Windows y funciones que operan en el registro).

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

El siguiente 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. Crear;
con reg comience
tratar
si OpenKey ('\ Panel de control \ escritorio', Falso) entonces comience
// cambiar el fondo de pantalla y colocarlo en mosaico
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. Gratis;
final;
final;
final;
~~~~~~~~~~~~~~~~~~~~~~~~~

Esas dos líneas de código que comienzan con SystemParametersInfo... obligar a Windows a actualizar el fondo de pantalla y la información del protector de pantalla de inmediato. Cuando ejecute su aplicación, verá el fondo de pantalla de Windows mapa de bits cambie 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).

instagram story viewer