![]() |
Exakter Registry Pfad auf Button Klick öffnen??
Hallo Leute,
ich hätte eine Frage, wie kann ich einen Registry Pfad exakt öffnen, ich habe ein paar spärliche versuche dieser Art versucht >>>
Delphi-Quellcode:
Aber hierbei öffnet sich lediglich die Registry ohne den exakten Pfadprocedure TForm1.Button1Click(Sender: TObject); Var reg:TRegistry; begin ShellExecute (Handle, 'open', 'c:\Windows\Regedit.exe', nil, nil, SW_SHOWNORMAL); begin reg:=TRegistry.Create; reg.RootKey:=HKEY_Local_Machine; reg.OpenKey ('HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\AppPaths', true); end; end; bzw. ohne die exakte Pfadangabe. [edit=Luckie]Delphi-Tags hinzugefügt Mfg, Luckie[/edit] |
Re: Exakter Registry Pfad auf Button Klick öffnen??
Shellexecute, regedit.exe und tRegistry haben nichts gemeinsam !!!
(ausser das RegEdit und tRegistry auf ein und dieselbe Datei zugreifen). grez msch |
Re: Exakter Registry Pfad auf Button Klick öffnen??
Wie sollte es auch funktionieren?
Nach dem du mit Shellexecute den Editor geöffnet hast ist doch schon alles vorbei. Desweiteren wie soll der Editor mit dem TRegistry Objekt von Delphi was anfangen? Wenn überhaupt müßtest du den Pfad als Parameter bei Shellexecute mit übergeben. Alledings weiß ich nicht, ob man der Regedit.exe überhaupt Parameter übergeben kann, bzw. wenn ja, wie diese auszusehen haben. meine Versuche Regedit.exe mit Parametern zu öffnen, sind alle fehlgeschlagen. |
Re: Exakter Registry Pfad auf Button Klick öffnen??
Hallo und herzlich Willkommen im Forum!
Delphi-Quellcode:
Hiermit liest man den Pfad der "NameMeinerAnwendung", welche Du da noch hast, ist Dein Problem und musst Du selbst im Code anpassen, aber das hier funktioniert schonmal. Darauf kannst Du jetzt aufbauen. ;)
procedure TForm1.Button1Click(Sender: TObject);
var Reg: TRegistry; sTemp: String; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKeyReadOnly('Software\Microsoft\Windows\CurrentVersion\AppPaths\NameDeinerAnwendung'); sTemp := Reg.ReadString('Path'); Reg.CloseKey; finally FreeAndNil(Reg); end; //try ShowMessage(sTemp); end; PS: Ich verschiebe das mal nach WinAPI. |
Re: Exakter Registry Pfad auf Button Klick öffnen??
Darauf kann er wohl nicht aufbauen, da er den Pfad im Registry-Editor von Windows geöffnet haben will?
|
Re: Exakter Registry Pfad auf Button Klick öffnen??
Ich meine dass das ShellExecute da nichts veroren hat und Er es aus "unwissenheit" hingeschreibselt hat. Aber warten wir mal ab bis Er sich wieder meldet.
|
Re: Exakter Registry Pfad auf Button Klick öffnen??
Moin Zusammen,
ich denke mal, dass es darum geht zu einem bestimmten Key in der Registry zu navigieren, wie es beim Doppelklick auf einen Key in RegMon geschieht. |
Re: Exakter Registry Pfad auf Button Klick öffnen??
Erstmal danke für eure Bemühungen,
ich habe den Source ausprobiert, er führt zu einem Showmessage mit leerem Inhalt. Mir ist klar, dass mein Code Experiment ganz oben dargestellt nicht funktionieren konnte es sollte vor allem veranschaulichen, was ich gerne dargestellt hätte und das ist genau der Punkt, wie der Super Moderator C.Seehase sagt, so wie bei Regmon z.B., es gibt aber noch mehr Programme die sowas können, sowas muß es doch auch in Delphi geben oder? Ein direkter Einsprungspunkt innerhalb der Registry. ALso ich kenne ca. 3 Programme die das können, das muß doch auch in Delphi gehen?? Wäre toll, wenn jemand diese Nuss knacken könnte. Einfach Button oder Label Klick und dann Sprung in die Registry zum Beispiel zu Pfad HKLM\Software\Windows\CurrentVersion\App Paths\Wordpad.exe |
Re: Exakter Registry Pfad auf Button Klick öffnen??
Moin SunnyDay,
Zitat:
Treiber kannst Du mit Delphi aber, genaugenommen, nicht erstellen (wenn überhaupt nur mit sehr grossem Aufwand, da der Compiler nicht darauf eingerichtet ist, schliesslich ist Delphi ja ein RAD Tool). Ggf. kannst Du Dir ja mal die Sourcen von RegMon durchsehen. Vielleicht gibt's da ja Anhaltspunkte. |
Re: Exakter Registry Pfad auf Button Klick öffnen??
Im Notfall erschiesse die Registry doch mit ihren eigenen Waffen. Der Registry-Editor öffnet sich ja immer an der zu letzt genutzten Stelle. Diese ist, wie sollte es auch anders sein, in der Registry gesichert. Überschreibe den Wert mit dem gewünschten Wert und öffne den Registry-Editor im Anschluss ;-)
Der Pfad wäre: HKCU\Software\Microsoft\Windows\CurrentVersion\App lets\RegEdit Wert: LastKey (Typ: String) ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz