| Excerpt |
|---|
TRegistry is a useful class can access Windows Registry which can check if the key exists or not, create a key, write a key, and etc. |
Below code shows the example of reading/writing keys and items on Microsoft Windows System Registry.
| Code Block |
|---|
Uses System.Win.Registry;
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; |
...