Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

Fehler beim Auslesen der Registry

  Alt 13. Okt 2008, 10:29
Hallo zusammen,

ich habe ein Problem beim Einlesen der Schlüssel aus der Registry.
Delphi-Quellcode:
lll:=tstringlist.create;
ll :=tstringlist.create;
reg.rootkey:=$80000000+2; { HKEY_LOCAL_MACHINE }
if reg.openkeyreadonly('') then begin
  lll:=tstringlist.create;
  reg.getkeynames(lll);
  i:=0;
  repeat
    if reg.openkeyreadonly('\'+lll[i]) then begin
      {-- Unterschlüssel holen -----------------}
      if reg.hassubkeys then begin
        reg.getkeynames(ll);
        if ll.Count>0 then
          for j:=0 to ll.count-1 do
            lll.add(reg.currentpath+'\'+ll[j])
        ll.clear;
      end;
    end;
    inc(i,1);
  until i=lll.count;
end;
Es gibt einige Schlüssel bei denen reg.getkeynames(ll) leere Strings('') zurück liefert, obwohl Schlüssel vorhanden sind. Sie sind zumindestens in regedit sichtbar.
Die Leseberechtigung ist vorhanden.
Betroffen sind z.B.

SYSTEM\ControlSet003\Control\Class\{8ECC055D-047F-11D1-A537-0000F8753ED1}
SYSTEM\ControlSet003\Control\DeviceClasses\{53f563 0a-b6bf-11d0-94f2-00a0c91efb8b}
SYSTEM\ControlSet003\Control\StillImage\Events\STI ProxyEvent
SYSTEM\ControlSet003\Services\Tcpip\Parameters\DNS RegisteredAdapters


gibt es da einen Workaround oder wisst Ihr worin diese Verhalten begründet ist?

Gruß K-H
  Mit Zitat antworten Zitat