Entwickler-Ecke

Windows API - Mehrere Einträge aus der Registry löschen


mk3 - Mo 20.09.04 12:01
Titel: Mehrere Einträge aus der Registry löschen
Hallo zusammen,

ich möchte alle Einträge aus der Registry löschen, unter dem Pfad '\Software\MeinProgramm\Grids\*\size'.

An Stelle von '*' kann ein beliebiger Name von einem Grid aus meinem Programm stehen.
Wie kann ich alle Werte löschen, dabei alle Einträge durchlaufen.
Ich konnte eine procedure nur für den exakten Key schreiben:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  Reg: TRegistry;
begin
  Reg:= TRegistry.Create;
  Reg.RootKey := HKEY_CURRENT_USER;

  Key:= '\Software\MeinProgramm\Grids\Grid1\size';

  if Reg.OpenKey(Key, false) then
   Reg.DeleteKey(Key);

  Reg.Free;
end;


Danke im voraus für jeden Hinweis.

mk

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.


Delete - Mo 20.09.04 12:56

Schon mal in der Hilfe TRegistry angekuckt und davon mal die Methoden? Ich stoße da auf so was:
Zitat:

Returns a string list containing the names of all subkeys belonging to the current key.


mk3 - Mo 20.09.04 14:13

Habe auch schon gefunden, dass ich die Werte mit GetKeyNames auslesen kann.
Danke sehr.
mk