怎么遍历注册表中的某一键值下的所有项的内容?
不甚感谢

解决方案 »

  1.   

    如现在在 /SOFTWARE 下.
    先定义一个TString对像. TString keys;
    定义一TRegistry 对像,这个不用说. TRegistry Reg;
    打开注册表...(省)
    读入项值入keys中.Reg.GetValueNames(keys)
    遍历之  for i := 0 to keys.count-1 do
            begin
                   reg.ReadString(keys.string[i])  //如:对每一项读
            end
    这是大概思路
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject); 
    var hKey1:HKEY;
        i:integer;
        retCode,size:Cardinal;
        Key,Value:array[0..255]of char;
    begin
      RegOpenKeyEx(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion',0,KEY_READ,hKey1);
      i:=0;
      repeat
        size:=1024;
        retCode:=RegEnumValue(hKey1,i,Key,size,nil,nil,nil,nil);
        if retCode=ERROR_SUCCESS then
         begin
         i:=i+1;
         Memo1.Lines.Add(Key);
         size:=1024;
         RegQueryValueEx(hKey1,Key,nil,nil,@Value,@size);
         Memo2.Lines.Add(Value);
         end;
      until (retCode<>ERROR_SUCCESS);
      RegCloseKey(hKey1);
    end;
      

  3.   

    你也可以参考一下这个贴:
    http://www.52sdn.com/artid/46/46440.html
      

  4.   

    oK,谢谢,还有一个问题,如何把STRING转化为TSTRINGS型呢?
      

  5.   

    如何把STRING转化为TSTRINGS型呢?
    ------
    var s:string;
        ss:TStrings;
    begin
      s:='abcde';
      ss:=TStringList.Create;
      ss.Add(s);
    end;PAnsiChar转成STRING呢?
    -----
    直接赋值
      

  6.   

    知道了,强类型转换PCHAR()
    谢谢liangqingzhi(老之);eagle1597() ( ),二种方法读注册表都行
    给分