Autor Beitrag
Moritz M.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1672



BeitragVerfasst: Sa 01.03.03 13:15 
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.
ausblenden 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:
ausblenden 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.


Zuletzt bearbeitet von Moritz M. am Sa 01.03.03 22:57, insgesamt 1-mal bearbeitet