请问如何实现以下功能呢,就是循环所有的注册表项目,包括子项什么的,然后判断某个键值,删掉

解决方案 »

  1.   

    uses registry;procedure TForm1.Button1Click(Sender: TObject);
    var
      Reg: TRegistry;
    begin
      Reg := TRegistry.Create; 
      try
      Reg.RootKey := HKEY_LOCAL_MACHINE;//根目录
      if Reg.OpenKey('\HARDWARE\ACPI\FACS',false) then //打开子项
      begin
        if Reg.ValueExists('XXOO') then //判断项目
           Reg.DeleteValue('XXOO')';   //删除
        Reg.CloseKey; //关闭子项
      end;
      finally
        Reg.Free;
      end;
    end;
      

  2.   


    没有循环所有节点的,何况节点有成千上百W级别的,循环它做啥
    如果是要取得某节点下的所有项目值,用
    reg.GetValueNames(Memo1.Lines);然后循环Memo1.Lines就是了,想删除那个就删除那个