Jupp, die Case-Of-Anweisung ist keine Schleife. Dort wird nichts wiederholt ausgeführt.
Das folgende Beispiel zeigt mal einen Ansatz, macht aber noch nicht ganz das, was du haben möchtest (selber groß
). Das Beispiel ist dazu da, damit du siehst, wie man mit der Registry arbeitet. Die Try-Finally-Blöcke sind wichtig. Falls Fehler dazwischen auftreten, wird der Speicher für die Objekte dennoch freigegeben.
Auch zeigt das Beispiel, wie man
lesend auf die Registry zugreift (dir reicht der lesende Zugriff). Mit eingeschränkten Benutzerrechten bleibt deine ListView sonst immer leer (soeben getestet)!
Delphi-Quellcode:
Reg:= TRegistry.Create;
try
Keys := TStringList.Create;
try
Reg.RootKey:= HKEY_LOCAL_MACHINE;
if Reg.OpenKeyReadOnly('SOFTWARE\Microsoft\Windows\CurrentVersion\Run') then
begin
Reg.GetValueNames(Keys);
for i := 0 to Keys.Count - 1 do
begin
lItem := ListView1.Items.Add;
lItem.Caption := Keys[i];
end;
Reg.CloseKey;
end;
finally
Keys.Free;
end;
finally
Reg.Free;
end;
Grüße, Matze
Edit: Wir haben "CloseKey" bisher ganz unterschlagen.