一个可能很可笑的问题,真不好意思……现有二进制数据00 01 02 03,如何把它存入注册表?……
最好给出示例代码,谢谢!

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
        registerTemp : TRegistry;
        curDate : TDateTime;
    begin
        registerTemp := TRegistry.Create;
        with registerTemp do
        begin
            RootKey := HKEY_LOCAL_MACHINE;
            if OpenKey('Software\MySoftware',True) then
            begin
              WriteTime('LastRunTime','00 01 02 03');
            end
            CloseKey;
        end;
    end;end.
      

  2.   

    可是,WriteTime和WriteBinally是不一样的啊……
      

  3.   

    TRegistry有个方法是专门学二进制的
      

  4.   

    00 01 02 03是数字吗?数字就不分进制~~~二进制表示会出现2,3这样的数吗???如果是16进制字符串这样做~~~var
        Reg : TRegistry;
        I: Integer;
    begin
        Reg := TRegistry.Create;
        I := StrToInt('$030201000');//你是要注册表中看到的效果是00 01 02 03?如果不是改为'$10203'
        with Reg do
        begin
          try
            RootKey := HKEY_LOCAL_MACHINE;
            if OpenKey('Software\MySoftware',True) then
            begin
              WriteBinaryData('Bin',I,SizeOf(I));
              CloseKey
            end
          finally
            Reg.Free;
          end;
        end;
    end;当然纯粹保存数据用WriteString也可~~~