Dicas - Registro do Windows

Nesta dica veremos como trabalhar com o registro do Windows utilizando suas APIs.

Usando o Registro do Windows

 

Nesta matéria veremos como trabalhar com o registro do Windows utilizando suas "Api's". Esta matéria possui algumas técnicas que tratam o registro do Windows. Veja as dicas desta matéria:

·Como definir, que uma certa extensão de arquivo seja aberta pelo seu programa.

·Como escrever e ler algum valor no registro do Windows.

·E o que escrever lá, para que sua aplicação seja inicializada junto com o Windows.

 

Vejamos então a primeira dica:

 

uses

    Windows, Messages .... Registry;  // Não esqueça de adicionar a Unit Registry na sessão uses...

 

procedure TForm1.Button1Click(Sender: TObject);

var

  Reg: TRegistry;

begin

  Reg := TRegistry.Create;

  try

  with Reg do

  begin

    RootKey := HKEY_CLASSES_ROOT;

OpenKey('\MeuPrograma', True);

WriteString('', 'Arquivo do meu programa'); //Nome dado ao arquivo de sua aplicação. "Ex: Imagem Gif".

CloseKey;

OpenKey('MeuPrograma\DefaultIcon', True);

// O primeiro parâmetro da linha de comando abaixo, é para escrever uma string vazia.

// E o último parâmetro é para colocar o ícone da sua aplicação nos arquivos que serão abertos por ela.

WriteString('', Application.ExeName + ',0');

CloseKey;

OpenKey('MeuPrograma\shell\open\command', True);

WriteString('', Application.ExeName + ' "%1"');

CloseKey;

RootKey := HKEY_CLASSES_ROOT;

OpenKey('\.ext', True); // Substitua o "ext" pela extensão que você deseja utilizar.

WriteString('', 'MeuPrograma');

CloseKey;

  end;

  finally

Reg.CloseKey;

Reg.Free;

  end;

end;

 

Acredito que você tenha conseguido aplicar esta técnica que lhe pode ser bastante útil. Vamos então ver a segunda dica, com ela você aprenderá como ler ou escrever um valor no registro do windows:

 

uses

  Windows, Messages .... Registry;  // Não esqueça de adicionar a Unit Registry na sessão uses...  

 

procedure button1.click(sender: Tobject);

var

  Reg: Tregistry;

begin

  Reg := Tregistry.create;

  with Reg do

  begin

    rootkey := HKEY_LOCAL_MACHINE;

Openkey('Software\Microsoft\Outlook Express\5.0\Default Settings\Recent Stationery List',false);

writestring('File0', 'Natureza.htm');

writestring('File1', 'Dia Claro.htm');

closekey;

  end;

end;

 

 No caso acima nós exemplificamos o que é escrever no registro, Neste exemplo nós trocamos de ordem os papeis de carta do Microsoft Outlook Explorer, embora você possa alterar qualquer registro já existente no "regedit". Se o que você que é incluir um registro e não editar, como nós fizemos, basta que no primeiro parâmetro da linha de comando "writestring", você coloque um nome para o seu registro, que não exista nesta pasta. Agora no código abaixo veremos como ler um valor de um registro qualquer:

 

uses

   Windows, Messages .... Registry;  // Não esqueça de adicionar a Unit Registry na sessão uses...  

 

procedure button1.click(sender: Tobject);

var

  Reg: Tregistry;

  S: string;

begin

  Reg:=Tregistry.create;

  with Reg do

  begin

    rootkey := HKEY_LOCAL_MACHINE;

Openkey('SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\',false);

S := readstring('version');

closekey;

  end;

  Edit.text := s;

end;

 

Neste caso nós pegamos o registro "version", que significa a versão do Windows,  colocamos o seu valor na variável "s" e depois à "jogamos" num "edit" qualquer, apenas para que possamos visualizá-la.

Agora que você já sabe como escrever no registro do Windows, veremos o que precisamos escrever, para colocar a nossa aplicação para ser inicializada junto com o Windows.

 

uses

  Windows, Messages .... Registry;  // Não esqueça de adicionar a Unit Registry na sessão uses...  

 

procedure button1.click(sender: Tobject);

var

  Reg: Tregistry;

begin

  Reg:=Tregistry.create;

  with Reg do

  begin

    rootkey := HKEY_LOCAL_MACHINE;

Openkey('\MICROSOFT\WINDOWS\CURRENTVERSION\RUN',false);

writestring('MeuPrograma', pchar(application.exename));

closekey;

  end;

end;

 

Com mais essa dica, finalizo a nossa matéria que ensina a trabalhar com o registro do Windows. Espero que você tenha gostado e que lhe seja bastante útil.

 

Por Marco Antonio

marco@clubedelphi.net

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados