Hi
Das ganze geht nicht über Parameter, sondern über einen Wert in der Registry, in dem der letzte geöffnete Schlüssel gespeichert ist. Wenn man diesen Wert auf den benötigten Fälscht, kann man RegEdit in einem bestimmten Key öffnen.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| uses Registry,ShellAPI;
...
procedure OpenRegEditInKey(key: string); var reg:Tregistry; begin reg:=TRegistry.create; reg.RootKey:=HKEY_CURRENT_USER; try reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Applets\Regedit',false); reg.WriteString('LastKey',key); finally reg.free; end; ShellExecute(Application.handle,'open','regedit.exe','','',SW_MAXIMIZE); end; |
So, das ist die Prozedur um RegEdit in einem bestimmten Key zu öffnen. Ihr könnt die hier gleich verwenden oder auch so umbasteln, wie ihr sie braucht.
Ein Beispiel zum aufrufen der Prozedur:
Quelltext
1:
| OpenRegEditInKey('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'); |
Der String Key muss also zuerst den RootKey und dann den zu öffnenden key enthalten.