Moin Kuba,
schau Dir mal die Eigenschaft TRegistry.Access an.
Standardmässig wird mit KEY_ALL_ACCESS gearbeitet.
Ausserdem gibt es noch die Methode OpenKeyReadOnly.
Des weiteren:
OpenKey gibt einen Wert zurück.
Den solltest Du auch nutzen, denn ein Öffnen kann ja auch schiefgehen, ausserdem sollte man nur dann den Key schliessen, wenn er auch erfolgreich geöffnet werden konnte, und das Schliessen sollte auch mit try/finally sichergestellt werden, zumal ReadString eine
Exception werfen kann.