如题,没有控件有例子也成啊!

解决方案 »

  1.   

    直接在程序总运行regedit就行了。
      

  2.   

    uses Registry;用Registry单元中的TRegistry类可以枚举、读写注册表具体代码自己到网上搜吧
      

  3.   

    自己写就可以啊
    DELPHI有操作注册表的单元,或者直接用API也可以,然后用LIST显示出来就可以了
      

  4.   

    HOHO~~伴水不厚道哦,这么晚了不睡觉给偶抢分分~~
      

  5.   

    参考如下连接
    http://www.realcoding.net/teach/Delphi7_prof/Glava5/Index6.html搜索关键字为:Registry TRegistry TreeView HasChildren
      

  6.   

    ...职业抢分...unit main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Outline, ComCtrls, ImgList, ExtCtrls; type TForml = class(TForm)  TreeViewl: TTreeView;  ListViewl: TListView;   ImageListl: TImageList;  Splitterl: TSplitter; procedure FormCreate(Sender: TObject); procedure TreeViewlChange(Sender: TObject; Node: TTreeNode); procedure FormDestroy(Sender: TObject); procedure TreeViewlExpanded(Sender: TObject; Node: TTreeNode); procedure TreeViewlGetlmagelndex(Sender: TObject; Node: TTreeNode);  private { Private declarations }  public { Public declarations } procedure ShowSubKeys(ParentNode: TTreeNode;depth: Integer);  function GetFullNodeName(Node: TTreeNode):string;   end; var Forml: TForml; implementation uses registry; {$R *.DFM} var reg : TRegistry; procedure TForml.FormCreate(Sender: TObject);  var root : TTreeNode;  begin Reg := TRegistry.Create;  ListViewl.ViewStyle := vsReport;  with ListViewl do  begin with Columns.Add do  begin Width := ListViewl.Width div 3-2;  Caption := 'Name';   end; with Columns.Add do  begin Width := ListViewl.Width div 3*2-2;  Caption := 'Value';  end;   end; TreeViewl.Items.Clear;  Reg.RootKey := HKEY_LOCAL_MACHINE; Root := TreeViewl.Items.Add(nil,'HKEY_LOCAL_MACHINE');  TreeViewl.Items.AddChildtroot,'');   end; procedure TForml.FormDestroy(Sender: TObject);  begin Reg.Free;  end; function TForml.GetFullNodeName(Node: TTreeNode):string;  var CurNode : TTreeNode;  begin Result:=''; CurNode := Node; while CurNode.Parentonil do begin Result:= '\'+CurNode.Text + Result;  CurNode := CurNode.Parent; end;  end; procedure TForml.TreeViewlChange(Sender: TObject; Node: TTreeNode);  var s: string;  Keylnfo : TRegKeylnfo;  ValueNames : TStringList;  i : Integer; DataType : TRegDataType;  begin ListViewl.Items.Clear;   s:= GetFullNodeName(Node);  if not Reg.OpenKeyReadOnly(s) then Exit;  Reg.GetKeylnfo(Keylnfo);  if Keylnfo.NumValues<=0 then Exit;  ValueNames := TStringList.Create;  Reg.GetValueNames(ValueNames);  for i := 0 to ValueNames.Count-1 do  with ListViewl.Items.Add do  begin Caption := ValueNames[i]; DataType := Reg.GetDataType(ValueNames[i]);  Case DataType of rdString: s := Reg.ReadString(ValueNames[i]); rdlnteger: s:= '0x'+IntToHex(Reg.Readlnteger(ValueNames[i]),8);  rdBinary: s:='Binary';  else s:= '???';  end; Subltems.Add(s);  Imagelndex :=1;  end; ValueNames.Free;  end; procedure TForml.ShowSubKeys(ParentNode: TTreeNode;depth: Integer);  var ParentKey: string;  KeyNames : TStringList;  KeyInfo : TRegKeylnfo;  CurNode : TTreeNode; i : Integer;  begin Cursor := crHourglass;   TreeViewl.Items.BeginUpdate;  ParentKey := GetFullNodeName(ParentNode);  if ParentKeyO1' then Reg.OpenKeyReadOnly(ParentKey)  else Reg.OpenKeyReadOnly('\') ;  Reg.GetKeylnfo(Keylnfo) ;  if KeyInfo.NumSubKeys<=0 then Exit;  KeyNames := TStringList.Create;   Reg.GetKeyNames(KeyNames); While ParentNode.GetFirstChildonil do ParentNode.GetFirstChild.Delete;  if (KeyNames.Count>0) then for i:=0 to KeyNames.Count-1 do  begin Reg.OpenKeyReadOnly(ParentKey+'\'-t-KeyNames[ i ]) ;   Reg.GetKeylnfo(Keylnfo); CurNode := TreeViewl.Items.AddChild(ParentNode,KeyNames[i];  if KeyInfo.NumSubKeys>0 then  begin TreeViewl.Items.AddChild(CurNode, '');  end;   end; KeyNames.Free;   TreeViewl.Items.EndUpdate;  Cursor := crDefault;   end; procedure TForml.TreeViewlExpanded(Sender: TObject; Node: TTreeNode);  begin ShowSubKeys(Node,1);  end; procedure TForml.TreeViewlGetlmagelndex(Sender: TObject; Node: TTreeNode);  begin with Node do  begin if Expanded then Imagelndex := 2 else Imagelndex := 3;  end;  end; end. 
      

  7.   

    DevExpress的TreeList控件专门有一个例子,演示注册表编辑器的做法。你直接基于这个例子修改即可。