TRegistry (Delphi)
Description
This example shows how to use the TRegistry class in order to find, insert, and delete Keys and Items into the Windows Registry. This example uses two buttons-- InsertToRegBtn and DeleteFromRegBtn on a form, for inserting and deleting the values.
Code
procedure TForm3.InsertToRegBtnClick(Sender: TObject);
var
  reg        : TRegistry;
  openResult : Boolean;
  today      : TDateTime;
begin
  reg := TRegistry.Create(KEY_READ);
  reg.RootKey := HKEY_LOCAL_MACHINE;
  if (not reg.KeyExists('Software\MyCompanyName\MyApplication\')) then
    begin
      MessageDlg('Key not found! Created now.',
					        mtInformation, mbOKCancel, 0);
    end;
  reg.Access := KEY_WRITE;
  openResult := reg.OpenKey('Software\MyCompanyName\MyApplication\',True);
  if not openResult = True then
    begin
      MessageDlg('Unable to create key! Exiting.',
                  mtError, mbOKCancel, 0);
      Exit();
    end;
  { Checking if the values exist and inserting when neccesary }
  if not reg.KeyExists('Creation\ Date') then
    begin
      today := Now;
  		reg.WriteDateTime('Creation\ Date', today);
    end;
  if not reg.KeyExists('Licenced\ To') then
    begin
  		reg.WriteString('Licenced\ To', 'MySurname\ MyFirstName');
    end;
  if not reg.KeyExists('App\ Location') then
    begin
  		reg.WriteExpandString('App\ Location',
                            '%PROGRAMFILES%\MyCompanyName\MyApplication\');
    end;
  if not reg.KeyExists('Projects\ Location') then
    begin
  		reg.WriteExpandString('Projects\ Location',
                            '%USERPROFILE%\MyApplication\Projects\');
    end;
  reg.CloseKey();
  reg.Free;
end;
procedure TForm3.DeleteFromRegBtnClick(Sender: TObject);
var
  reg : TRegistry;
begin
  reg := TRegistry.Create(KEY_WRITE);
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.DeleteKey('Software\MyCompanyName\MyApplication');
  reg.DeleteKey('Software\MyCompanyName');
  reg.CloseKey();
  reg.Free;
end;
Uses
- System.Win.Registry.TRegistry ( fr | de | ja )
 - System.Win.Registry.TRegistry.Create ( fr | de | ja )
 - System.Win.Registry.TRegistry.KeyExists ( fr | de | ja )
 - System.Win.Registry.TRegistry.OpenKey ( fr | de | ja )
 - System.Win.Registry.TRegistry.WriteDateTime ( fr | de | ja )
 - System.Win.Registry.TRegistry.WriteString ( fr | de | ja )
 - System.Win.Registry.TRegistry.WriteExpandString ( fr | de | ja )
 - System.Win.Registry.TRegistry.CloseKey ( fr | de | ja )
 - System.Win.Registry.TRegistry.DeleteKey ( fr | de | ja )
 - System.Win.Registry.TRegistry.RootKey ( fr | de | ja )
 - System.Win.Registry.TRegistry.Access ( fr | de | ja )