开始->运行—>regedit->Ctrl+F->输入要查的主建->Enter
继续查找用F3

解决方案 »

  1.   

    : errun(errun):
    不知你注意到没有tregistery这个类里面有TRegistry.GetKeyInfo
    procedure GetKeyNames(Strings: TStrings);
    这两个方法,可以取得这个父键下面的所有子键的信息。所以你可以从根部开始,递归调用

    这个有点类似findfirst,findnext搜寻下面的所有的文件。
      

  2.   

    是啊,就是个递归调用,很简单To errun(errun) 
    一点忠告:别人帮你,你应该感谢才对,无论别人是对是错
    你这个态度,谁还愿帮你?????
      

  3.   

    谢谢楼上教诲,向Erlei(E人类)至谦。
      

  4.   

    var
      reg:TRegistry
        procedure GetKeyNames(Strings: TStrings);
     返回所有键名
        procedure GetValueNames(Strings: TStrings);
     返回所有的值
      

  5.   

    这段代码是返回某一项下的所有值
    加上上面的,你就可以完成你的要求了
    呵呵Var Reg : TRegistry;
        list : TStrings;
        i    : Integer;
    Begin
     Reg:=TRegistry.Create;
     Reg.RootKey:='HKEY_LOCAL_MACHINE';
     If Reg.OpenKey('\Software\Microsoft\CurrentVersion\Run', false) then
      Begin
       List:=TStringList.Create;
       Reg.GetValueNames(List);
       For i:=0 to list.Count-1 do
        If Reg.ValueExists(List[i]) then
         Begin
          Case Reg.GetDataType(List[i]) of
           rdInteger: Reg.ReadInteger(List[i]);
           rdBinary: Reg.ReadBinaryData(List[i]);
          else 
            Reg.ReadString(List[i]);
          End;  
         End;
      End;
    End;