Пример заполнения Memo из двух ключей реестра:
unit N98385677;
interface
uses
Windows, SysUtils, Classes, Controls, Forms,
Registry, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
procedure ScanRun(RootKey: HKey; Key: string);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ScanRun(RootKey: HKey; Key: string);
var
Values: TStringList;
Reg: TRegistry;
i: integer;
begin
Values := TStringList.Create;
Reg := TRegistry.Create;
Reg.RootKey := RootKey;
Reg.OpenKeyReadOnly(Key);
Reg.GetValueNames(Values);
for i := 0 to Values.Count - 1 do
Values[і] := Values[і] + ' -- ' + Reg.ReadString(Values[і]);
Memo1.Lines.AddStrings(Values);
Reg.Free;
Values.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ScanRun(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ScanRun(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run');
end;
end.