Einzelnen Beitrag anzeigen

Landogar-Garuno

Registriert seit: 22. Feb 2008
36 Beiträge
 
#1

Registry Binary lesen und schreiben

  Alt 6. Apr 2009, 11:50
hallo alle zusammen...

habe mal wieder ein problem...

das lesen von Registry binary funzt

hier der code

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Key: HKEY;
  buf: array of byte;
  size: integer;
  i: integer;
  s: string;
begin
  if RegOpenKeyEx(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 0, KEY_READ, Key) = ERROR_SUCCESS then
  try
    size := ReadRegBinary(Key, 'LicenseInfo', buf, 0);
    if size <> -1 then begin
      SetLength(buf, size);
      ReadRegBinary(Key, 'LicenseInfo', buf, size);
    end;
  finally
    RegCloseKey(Key);
  end;

  s := '';
  for i := 0 to High(buf) do begin
    s := s + IntToHex(buf[i],2) + ' ';
  end;
 Richedit1.Font.Name := 'Courier New';
 richedit1.text:=(s)
wobei die lösung mit richedit mir nicht gefällt...aber StringGrid bekomme ich nicht hin

so nun mein Problem...wie schreibe ich den wert in die registry , den ich geändert habe im richedit

kann mir jemand helfen ?

eventuell auch vorschläge für StringGrid ?

danke

habe vergessen......

Delphi-Quellcode:
function ReadRegBinary(Key: HKEY; Name: string; var Buffer; BufSize: Integer): integer;
var
  DataType: Integer;
  Status: integer;
begin
  result := -1;
  DataType := REG_NONE;
  try
    // return the size of the buffer required
    if BufSize = 0 then begin
    // get data type and buffer size
      Status := RegQueryValueEx(Key, PChar(Name), nil, @DataType, nil, @BufSize);
      if Status = ERROR_SUCCESS then begin
        result := BufSize;
      end;
    end else begin
      // get data
      if RegQueryValueEx(Key, PChar(Name), nil, @DataType, PByte(Buffer),
         @BufSize) = ERROR_SUCCESS then result := BufSize
      else result := -1;
    end;
  except
    result := -1;
  end;
end;
[edit=mkinzler]Code.Tags durch Delphi-Tags ersetzt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat