Als Ergänzung zu Luckie -
Im Normalfall liest man die Umgebungsvariablen mit [
msdn]"GetEnvironmentVariable"[/
msdn] aus. Damit erhält man aber idR nur die benutzer-abhängigen Variablen. Unter 9x-Systemen sollte dies kein Problem sein, da dort die Variablen
IMHO alle in der "autoexec.bat" initialisiert werden.
Wie dem auch sei, für NT-Systeme fällt mir auf die Schnelle die Lösung von Tino im
DF ein, in der aber keine speziellen Rechte notwendig sind, weil man a) den eigenen Schlüssel mit den eigenen Rechten problemlos auslesen können sollte, und b) die Registry auch "nur lesend" öffnen kann, um bspw. auf
HKLM zuzugreifen.
Evtl. müsste Tino das ergänzen, denn ich sehe gerade, dass er bei "GetSystemWideEnvironmentVariable" nur
Reg := TRegistry.Create;
stehen hat. Häng ein "(KEY_READ)" nach "Create" an, und es sollte auch ohne Admin- o.ä. erweiterte Rechte keine Probleme beim Lesen von systemweiten Umgebungsvariablen geben.