Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Registry auslesen GetValueNames + ReadRegBinary (https://www.delphipraxis.net/157266-registry-auslesen-getvaluenames-readregbinary.html)

Landogar-Garuno 5. Jan 2011 17:05

Delphi-Version: 5

Registry auslesen GetValueNames + ReadRegBinary
 
Hallo

ersmal ein gesundes neues Jahr

komme hier nicht weiter

hier mein code

Delphi-Quellcode:
var
i: Integer;
sl: TStringlist;
begin
sl := TStringlist.Create;
With TRegistry.Create do begin
RootKey := HKEY_LOCAL_MACHINE;
If OpenKey('\SOFTWARE\COMPANY\EXAMPLE\', false) then begin
  GetValueNames(sl);
  For i := 0 to sl.count -1 do begin
  Application.ProcessMessages;
   memo1.Lines.add(sl[i]);
  end;
  CloseKey;
end;
free;
end;
sl.free;
end;
soweit funzt es auch... bekomme aber ReadRegBinary mit schleife nicht hin

am ende sollte es so im memo oder richedit stehen

example
"10:C75CE85EFD893B746627F867B2A21B12"=hex:01,0C,26 ,59,F6,5C,58,E6,05,63,06,C9,18,97,8F,E0
"10:4EA104BDDF325A93A56916603B790C40"=hex:01,1F,A3 ,B9,83,BD,1C,BD,82,32,EF,B1,99,5D,4E,D8
"10:EA9416075295DAEE39CF8CD30AE5DFA4"=hex:01,3F,C4 ,AB,C2,5A,0E,4F,C6,89,8F,CE,BC,DF,FA,6C
"10:159A58962044AF3D04BDEC2E7813EFFC"=hex:01,AF,38 ,FD,EC,3F,AE,CF,71,41,D3,85,7E,62,A3,26
"10:5437760C404D1327BC920C698E482CFB"=hex:01,F5,39 ,A8,8C,AF,C8,83,A1,3C,82,23,12,24,4F,41
"10:623DE6D6AC2798E3C606C2F80A3AA1BA"=hex:02,1B,7F ,0E,A5,07,C4,6F,5B,4B,7F,13,71,38,CD,8C
"10:A07A5DB20D75F1268758D9B88E9DA3F8"=hex:02,20,3C ,F2,7F,8B,AA,8D,9D,36,04,C3,D7,26,85,F6

jemand von euch ne idee ?

Uwe Raabe 5. Jan 2011 17:31

AW: Registry auslesen GetValueNames + ReadRegBinary
 
Zitat:

Zitat von Landogar-Garuno (Beitrag 1072428)

Delphi-Quellcode:
  For i := 0 to sl.count -1 do begin
  Application.ProcessMessages; // das nimm mal einfach raus, kostet nur unnütz Zeit.
   memo1.Lines.add(sl[i]);
  end;
soweit funzt es auch... bekomme aber ReadRegBinary mit schleife nicht hin

Wo ist denn der Code mit ReadRegBinary?

DeddyH 5. Jan 2011 17:48

AW: Registry auslesen GetValueNames + ReadRegBinary
 
Und wieso nicht gleich
Delphi-Quellcode:
GetValueNames(Memo1.Lines);
Oder sollen die alten Werte erhalten bleiben?

p80286 5. Jan 2011 17:57

AW: Registry auslesen GetValueNames + ReadRegBinary
 
Ich hab jetzt die Hilfe nicht zur Hand, darum stimmt die Syntax bestimmt nicht, aber so ähnlih sollte es gehen:

Delphi-Quellcode:
For i := 0 to sl.count -1 do begin
   if reg.ReadDataType(sl[i])=binary then
     memo1.Lines.add(sl[i]+reg.ReadBinary(sl[i]);
  end;
Die überprüfung des Datentyps muß sein, wenn der nicht stimmt bekommst Du ein paar exceptions um die Ohren gehauen.

Gruß
K-H

Landogar-Garuno 5. Jan 2011 18:12

AW: Registry auslesen GetValueNames + ReadRegBinary
 
benutze diese funktion
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;

Landogar-Garuno 5. Jan 2011 19:03

AW: Registry auslesen GetValueNames + ReadRegBinary
 
Liste der Anhänge anzeigen (Anzahl: 1)
@DeddyH danke für den tip funzt :)

ja sie sollten unverändert bleiben...

10000-35000 Binary Valu müssen verarbeitet werden

sie müssen auch wieder geschrieben werden...und mit RegEdit dauert das ca10min

habe als anhang mal die example.reg eingefügt


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 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 by Thomas Breitkreuz