Die Ansätze finde ich besprechungswürdig.
Auf welche Root und Key willst du zugreifen?
Lesend kannst du auf fast alles zugreifen.
Schreibend nur unter
HKCU.
Wenn du auf
HKLM zugreifen willst, dann kommt das auf die Rechte der Benutzer an.
Diese kommen aus Gruppenzugehörigkeiten in Windows.
Jeder Key in der Registry kann mit einer
ACL geschützt werden.
Die meisten Key unterhalb
HKLM darf nur ein Mitglied der "local Admins" schreiben. Lesen dürfen Mitglieder von "Users". Es kann sein, dass die Berechtigungen anderes vergeben sind, so dass auch Benutzer z.B. Schreiben dürfen.
Ein Problem ist in Delphi. Wenn du ein Key öffnest wird wenn nichts anderes angegeben wird, direkt mit Schreibrechten geöffnet.
Das erzeugt unter
HKLM eine
Exception.
Folgendes öffnet den Key zu Lesen (only):
Code:
fregistry:=TRegistry.Create(KEY_READ);
Damit kann dann auch auf
HKLM lesend zugegriffen werden ohne "Admin"-Rechte.