![]() |
PlacesBar in Datei-Öffnen-Dialog von Windows
Ich möchte für mein Programm eine individuelle PlacesBar zu erzeugen. Dazu habe ich gelesen, dass man die Zugriffe auf den Registry-Eintrag, auf dem die PlacesBar-Einträge für den normalen Datei-Öffnen/Speichern Dialog von Windows stehen ('HKEY_CURRENT_USER\Software\Microsoft\Windows\Cur rentVersion\Policies\comdlg32\PlacesBar') auf einen anderen Eintrag mit der Funktion RegOverridePredefKey umlenken kann.
Die API-Funktion RegOverridePredefKey habe ich eingebunden wie von Phoenix beschrieben ( ![]() Da man dieser Funktion einen HKey übergeben muss, habe ich versucht diesen mit Reg.CurrentKey zu bestimmen und folgenden Quelltext geschrieben:
Delphi-Quellcode:
Das ganz scheint aber nicht zu funktionieren. Im Debugger zeigt der Aufruf von CurrentKey an zwei unterschiedlichen Stellen der Registry den gleichen Wert an.
procedure TForm1.FormCreate(Sender: TObject);
var Reg : TRegistry; StdPlacesStr : String; NewPlacesStr : String; StdPlacesKey : HKey; NewPlacesKey : HKey; begin StdPlacesStr:= '\Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32\PlacesBar'; NewPlacesStr:='\Software\MyComp\MyProg\PlacesBar'; Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey(StdPlacesStr,True); StdPlacesKey:=Reg.CurrentKey; Reg.CloseKey; Reg.OpenKey(NewPlacesStr,True); NewPlacesKey:=Reg.CurrentKey; Reg.WriteString('Place0',ExtractFilePath(Application.ExeName)); RegOverridePredefKey(StdPlacesKey, NewPlacesKey); Reg.Free; end; Kann mir jemand helfen (oder kommt jede Hilfe zu spät?) Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 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