我想在列表框显示注册表中某一主键下的各个子键的名字,为何显示不出来?我的程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
Val:TStringlist;
I:Integer;
begin
Reg:=TRegistry.Create;
try
Val:=TStringlist.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE; // Section to look for within the registry
if not Reg.OpenKey('\Software\',False) then else
begin
Reg.GetKeyNames(Val); for I:=0 to Val.Count-1 do
begin listbox1.Items.Add(Reg.ReadString(Val[I]));
end;
end; finally
Val.Free;
end;
finally
Reg.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
Val:TStringlist;
I:Integer;
begin
Reg:=TRegistry.Create;
try
Val:=TStringlist.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE; // Section to look for within the registry
if not Reg.OpenKey('\Software\',False) then else
begin
Reg.GetKeyNames(Val); for I:=0 to Val.Count-1 do
begin listbox1.Items.Add(Reg.ReadString(Val[I]));
end;
end; finally
Val.Free;
end;
finally
Reg.Free;
end;
end;
直接用
ListBox1.Items.Assign(Vals);
就好了
纠正一下先:)
如果你想获得每一个键下面的所有值,应该使用
Reg.GetValueNames,然后再用
Reg.ReadString读取ValueNames里面的值(Value)