Trabalhando com o Registro do Windows a partir de aplicativos Delphi

O registro é simplesmente um banco de dados que um aplicativo pode usar para armazenar e recuperar a configuração informações (tamanho e posição da última janela, opções e informações do usuário ou qualquer outra configuração dados). O Registro também contém informações sobre o Windows (95/98 / NT) e sobre a configuração do Windows.

O "banco de dados" do Registro é armazenado como um arquivo binário. Para encontrá-lo, execute o regedit.exe (utilitário do editor de registro do Windows) no diretório do Windows. Você verá que as informações no Registro são organizadas de maneira semelhante à explorador de janelas. Podemos usar o regedit.exe para visualizar informações do registro, alterá-las ou adicionar algumas informações. É óbvio que modificações no banco de dados do registro podem levar a uma falha no sistema (é claro se você não souber o que está fazendo).

Provavelmente, é bem sabido que nos dias do Windows 3.xx os arquivos INI eram uma maneira popular de armazenar informações de aplicativos e outras configurações configuráveis ​​pelo usuário. O aspecto mais aterrorizante dos arquivos INI é que eles são apenas arquivos de texto que o usuário pode editar facilmente (alterar ou até excluí-los). No Windows de 32 bits, a Microsoft recomenda o uso do Registro para armazenar o tipo de informação que você normalmente colocaria nos arquivos INI (é menos provável que os usuários alterem as entradas do registro).

instagram viewer

Delphi fornece suporte completo para alterar entradas no Registro do sistema do Windows: através da classe TRegIniFile (mesma interface básica que o TIniFile classe para usuários de arquivos INI com Delphi 1.0) e classe TRegistry (invólucro de baixo nível para o registro do Windows e funções que operam no registro).

Conforme mencionado anteriormente neste artigo, as operações básicas do registro (usando manipulação de código) estão lendo informações do Registro e gravando informações no banco de dados.

O próximo trecho de código alterará o papel de parede do Windows e desativará o protetor de tela usando a classe TRegistry. Antes de podermos usar o TRegistry, precisamos adicionar a unidade de registro à cláusula uses na parte superior do código-fonte.

~~~~~~~~~~~~~~~~~~~~~~~~~
usa registro;
procedimento TForm1.FormCreate (Sender: TObject);
var
reg: TRegistry;
início
reg: = TRegistry. Crio;
com reg começar
experimentar
se OpenKey ('\ Control Panel \ desktop', False), comece
// mude o papel de parede e coloque-o lado a lado
reg. WriteString ('Wallpaper', 'c: \ windows \ CIRCLES.bmp');
reg. WriteString ('TileWallpaper', '1');
// desativar proteção de tela // ('0' = desativar, '1' = ativar)
reg. WriteString ('ScreenSaveActive', '0');
// atualiza as alterações imediatamente
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, zero, SPIF_SENDWININICHANGE);
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0, zero, SPIF_SENDWININICHANGE);
fim
finalmente
reg. Livre;
fim;
fim;
fim;
~~~~~~~~~~~~~~~~~~~~~~~~~

Essas duas linhas de código que começam com SystemParametersInfo... forçar o Windows a atualizar as informações de proteção de tela e papel de parede imediatamente. Ao executar seu aplicativo, você verá o papel de parede do Windows bitmap mude para a imagem Circles.bmp - ou seja, se você tiver uma imagem circles.bmp no diretório do Windows. (Nota: seu protetor de tela agora está desativado.)

instagram story viewer