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;