Thema: Delphi Registry Key suchen

Einzelnen Beitrag anzeigen

mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#9

Re: Registry Key suchen

  Alt 4. Nov 2004, 13:15
hier eine von mir geschriebene suchfunktion, wär fast was für die code-library, muss halt noch ein bisschen verbessert werden...

Delphi-Quellcode:
Procedure registry_durchsuchen(HKEY_String, Keystring, suchen: string);
var regkeys : tstringlist;
    regvalues : tstringlist;
    i, a : integer;
    pfad : string;
    aktueller_key: string;
    addstring : string;
Begin
  try
    if reg.OpenKey(Keystring, False) then
    begin
      regkeys := tstringlist.Create;
      try
        reg.Access := KEY_EXECUTE;
        reg.GetKeyNames(regkeys);
        for i:=0 to regkeys.count-1 do
        begin
          regvalues := tstringlist.create;
          try
            if reg.OpenKey(IncludeTrailingBackslash(Keystring)+regkeys.Strings[i], False) then
            begin
              reg.GetValueNames(regvalues);
              for a:=0 to regvalues.count-1 do
              begin
                if reg.GetDataType(regvalues.Strings[a]) = rdString then
                begin
                  pfad := reg.ReadString(regvalues.Strings[a]);
                  if pos(suchen, pfad) <> 0 then
                  begin
                    //GEFUNDEN
                  end;
                end;
              end;
            end;
          finally
            regvalues.Free;
          end;
          if (regkeys.Count > i) and (regkeys.Strings[i] > '') then
          begin
            aktueller_key := IncludeTrailingBackslash(Keystring)+regkeys.Strings[i];
            registry_durchsuchen(HKEY_String, aktueller_key, suchen);
          end;
        end;
      finally
        regkeys.Free;
      end;
    end;
  finally
    reg.Access := KEY_ALL_ACCESS;
  end;
end;
  Mit Zitat antworten Zitat