各位大哥,我想读出注册表中  HKEY_CURRENT_USER\Software\Classes 的一些字符串, 例如在 项 classes 下 有许多不同的 字符串值,二进制值,双字节值,而我所需要的是字符串 ... s1,s2,s3,s4 ...  下的值,问题是如何从中将 这些字符串值提取出来, 谢谢!!

解决方案 »

  1.   

    给个例子
    uses
      registry;procedure TForm1.FileListBox1DblClick(Sender: TObject);
    var
    r:TRegistry;
    begin
    if ExtractFileExt(AnsiLowerCase(Filelistbox1.FileName))='.bmp' then
      begin
      r:=TRegistry.Create;
      try
        r.RootKey:=HKEY_CURRENT_USER;
        r.OpenKey('\Control Panel\Desktop',True);
        r.WriteString('Wallpaper',Edit1.Text);
        r.WriteString('WallpaperStyle',style);
      finally
        r.CloseKey;
        r.Free;
      end;
      SystemParametersInfo(SPI_SETDESKWALLPAPER,
             0,pChar(Filelistbox1.FileName),
             SPIF_UPDATEINIFILE);
      end;
    end;
      

  2.   

    用 TRegistry 似乎没有办法得到某个键值的类型。
      

  3.   

    reg.GetDataInfo得到某个键值的类型
    reg.GetKeyNames获得所有子键
    reg.GetValueNames得到所有键值