Moin!
Naja, etwas schwierig zu beschreiben, das Problem...

Aaaalso:
Ich habe folgenden Code, der von einem Benutzer-Account aus gestartet wird:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| var Reg: TRegistry;
begin Reg := TRegistry.Create; try try if (Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System',FALSE)) then try try Reg.WriteInteger('NoDispScrSavPage',1); Writeln('Done.'); except Writeln('Error writing key!'); end; finally Reg.CloseKey; end else Writeln('Error opening RootKey!'); except Writeln('Error opening Registry!'); end; finally Reg.Free; end; |
Problem: Der User darf nicht in diesen Schlüssel schreiben (das ist auch korrekt so)! Ich kriege wie erwartet "Error opening RootKey!" ausgegeben.
Aufgabe:
Wie schreibe ich trotzdem da rein?! Klar: Ich habe Zugriff auf den Admin-Account (lokal und Domain)!
Mir scheint allerdings, es nutzt mir nix den Admin-Account zu haben, denn wenn ich das Programm als Admin ausführen würde, hätte ich ja auch einen anderen Registry-Kontext unterhalb von HKCU, oder?

Wie komme ich also - sozusagen temporär - an Admin-Rechte im gleichen HKCU-hive des Users, der das Programm gestartet hat?
cu
Narses
There are 10 types of people - those who understand binary and those who don´t.