例如我要修改的是:HKEY_LOCAL_MACHINE-> software-> ComputerAssociates-> KILL->60-> NameCli下的ServerList的值由0A  0A  08  50”改为”0A  3C  06  1B,该怎么做,谢谢。

解决方案 »

  1.   

    Reg := TRegistry.Create;
        Reg.RootKey := HKEY_CURRENT_USER;
        if Reg.OpenKey(RegKey, false)
        then
        begin
          keyValue:=Reg.ReadString(RegItem);....
    看看相关帮助,很简单的
      

  2.   

    给你一个修改windows自动登陆的例子。相信你能够马上解决问题!function SetAutoLogin(name,pass:string):boolean;
    const
      AUTOKEY: string = '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon';
    var
      REG1:TRegistry;
    begin
      result := false;
      reg1 := tregistry.Create;
      try
        try
          reg1.RootKey := HKEY_LOCAL_MACHINE;
          reg1.OpenKey(AUTOKEY,FALSE);
          reg1.WriteString('AutoAdminLogon','1');
          reg1.WriteString('DefaultUserName',name);
          reg1.WriteString('DefaultPassword',pass);
          reg1.WriteString('DefaultDomainName','');      
          reg1.CloseKey;
          result :=true;
        except
          Application.MessageBox( PChar(Loadstr(489)+#13+#10+Loadstr(38)),  // 38
                               PChar(Loadstr(moSystemInstall)),   // 1
                                MB_OK or MB_ICONERROR );
        end;
      finally
        reg1.Free;
      end;
    end;
      

  3.   

    试下AutoRun:=TRegistry.Create;
    try
      AutoRun.RootKey := HKEY_LOCAL_MACHINE;
      if AutoRun.OpenKey('ComputerAssociates\KILL\60\NameCli', False) then     
              AutoRun.WriteString(ServerList, '0A  3C  06  1B')
    finally
      FreeAndNil(AutoRun);
    end;
      

  4.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    const
    AUTOKEY: string = '\SOFTWARE\ComputerAssociates\KILL\60\NameCli';
    var
    REG1:TRegistry;begin  reg1 := tregistry.Create;
      try
        try
          reg1.RootKey := HKEY_LOCAL_MACHINE;
          reg1.OpenKey(AUTOKEY,FALSE);
          reg1.WriteString('ServerList','0A  3C  06  1B');
          reg1.CloseKey;
          showmessage('good1')
          except
          showmessage('good');
          end;
     finally
        reg1.Free;
    end;
    end;
    我仿照克沙给的那个写个最简单的,好像不行。每次总是显示GOOD,看来TRY中的有问题,请大家再帮我看看。
      

  5.   

    <<reg1.OpenKey(AUTOKEY,FALSE);reg1.OpenKey(AUTOKEY,True);
      

  6.   

    给你一个删除后又写入的例子:uses
    Registryvar
      registerTemp : TRegistry;
      tmpStr : string;begin
      registerTemp := TRegistry.Create;
      with registerTemp do
         begin
            RootKey := HKEY_LOCAL_MACHINE;
            if OpenKey('Software\Microsoft\Windows\CurrentVersion\run',True) then
              begin
                readkey(HKEY_LOCAL_MACHINE,
                  'Software\Microsoft\Windows\CurrentVersion\run',
                    extractfilename(Application.ExeName),tmpStr);
                if tmpStr<>'' then
                   //DeleteRegistry(extractfilename(Application.ExeName));               DeleteValue(extractfilename(Application.ExeName));            WriteString(extractfilename(Application.ExeName),Application.ExeName);
              end;
            CloseKey;
         end;
       registerTemp.free;
    end;function DeleteRegistry(Name:String):boolean;
    ///////////////////////////////////////////////////////////////////
    //
    //  过程名称:DeleteRegistry
    //  功能:删除注册表中指定的值;
    //  输入: ?
    //         Name :键名称
    //  输出: value :键值
    //         Result : boolean  *******  true : 删除成功
    //                                     false : 删除不成功
    //////////////////////////////////////////////////////////////////
    var
    registerTemp : TRegistry;
    begin
        registerTemp := TRegistry.Create;
        //建立一个Registry实例
        with registerTemp do
        begin
            RootKey:=HKEY_LOCAL_MACHINE;
            //设置根键值为HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
            if OpenKey('Software\Microsoft\Windows\CurrentVersion',True) then
            //写入自己程序的快捷方式信息
            begin
                deleteValue(Name);
                result := true;
            end else
                 result := false;
            //善后处理
            //    CloseKey;
            Free;
        end;
    end;