Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Exakter Registry Pfad auf Button Klick öffnen?? (https://www.delphipraxis.net/7861-exakter-registry-pfad-auf-button-klick-oeffnen.html)

SunnyDay2003 23. Aug 2003 11:29


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:
 
procedure 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;
Aber hierbei öffnet sich lediglich die Registry ohne den exakten Pfad
bzw. ohne die exakte Pfadangabe.

[edit=Luckie]Delphi-Tags hinzugefügt Mfg, Luckie[/edit]

MSCH 23. Aug 2003 11:58

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

Luckie 23. Aug 2003 12:00

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.

Daniel B 23. Aug 2003 12:08

Re: Exakter Registry Pfad auf Button Klick öffnen??
 
Hallo und herzlich Willkommen im Forum!
Delphi-Quellcode:
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;
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. ;)

PS: Ich verschiebe das mal nach WinAPI.

Luckie 23. Aug 2003 12:13

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?

Daniel B 23. Aug 2003 12:14

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.

Christian Seehase 23. Aug 2003 12:23

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.

SunnyDay2003 23. Aug 2003 14:25

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

Christian Seehase 23. Aug 2003 15:14

Re: Exakter Registry Pfad auf Button Klick öffnen??
 
Moin SunnyDay,

Zitat:

Zitat von SunnyDay2003
...das muß doch auch in Delphi gehen??

nicht unbedingt, denn bei RegMon und FileMon wird mit Treibern gearbeitet, ob dieser dann allerdings für den genannten Zugriff auf die Registry zuständig ist weiss ich nicht.
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.

sakura 23. Aug 2003 15:18

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 20:34 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz