现在在HKEY_CURRENT_USER根下Software\Mysoft目录内有一键名为FX,默认为01,00,00,00是一个二进制键。现在要把这个键值更改为02,00,00,00。应该如何操作???

解决方案 »

  1.   

    怎样向注册表写入一个二进制数据--WriteBinaryData
      

  2.   

    var
      Reg: TRegistry;
    begin
      Reg := TRegistry.Create;
      try
        Reg.RootKey := HKEY_CURRENT_USER;
        if Reg.OpenKey('Software\Mysoft, False) then
       begin
          Reg.WriteInteger('FX',2);
          Reg.CloseKey;
        end;
      finally
        Reg.Free;
      end;
      

  3.   

    写入一个十六进制数据用WriteInteger就可以了,写入一个二进制数据也可以用WriteInteger
    其实WriteBinary主要用来写入Record和数组之类的。八进制?无所谓,一样写入,保存的是十六进制的。
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var reg: TRegistry;
        cc: array [0..3] of char;
    begin
      reg := TRegistry.Create;
      reg.RootKey := HKEY_LOCAL_MACHINE;
      reg.OpenKey('SoftWare\MyBinaryData',True);
      cc := '1234';
      reg.WriteBinaryData('MyBinaryData',cc,SizeOf(cc));
      reg.CloseKey;
      reg.Free;
    end;
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var reg: TRegistry;
        cc: array [0..3] of char;
    begin
      reg := TRegistry.Create;
      reg.RootKey := HKEY_CURRENT_USER;
      reg.OpenKey('Software\Mysoft',True);
      reg.ReadBinaryData('FX',cc,SizeOf(cc));
      //加断点,查看CC的值
      FillChar(cc,SizeOf(cc),0);
      cc[0] := #2;
      reg.WriteBinaryData('MyBinaryData',cc,SizeOf(cc));
      reg.CloseKey;
      reg.Free;
    end;