![]() |
Registry Binary lesen und schreiben
hallo alle zusammen...
habe mal wieder ein problem... das lesen von Registry binary funzt hier der code
Delphi-Quellcode:
wobei die lösung mit richedit mir nicht gefällt...aber StringGrid bekomme ich nicht hin
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) 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:
[edit=mkinzler]Code.Tags durch Delphi-Tags ersetzt Mfg, mkinzler[/edit]
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; |
Re: Registry Binary lesen und schreiben
Hallo.
Splitte zuerst alles wieder in 2er Paare auf. Dann wandelst du die 00..FF Paare wieder in Integer um: ![]() Und dann schreibst du diese Integer-Sequenz wieder in die Registry als Puffer. Noch einfacher könnte es sogar hiermit gehen: ![]() Solange alles bei String bleibt ist es OK. Aber Achtung beim Wandeln in PChar. Denn ein PChar bricht ab, sobald ein 00h in deiner Binärsequenz auftaucht. Gruß blackdrake |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz