Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Öffnen mit - Einträge editieren (https://www.delphipraxis.net/181201-oeffnen-mit-eintraege-editieren.html)

LokutusvB 24. Jul 2014 14:05

Öffnen mit - Einträge editieren
 
Hallo,

ich habe auf meinem PC 4 Delphi-Umgebungen installiert, Delphi 5, BDS 2006, RAD XE und XE6. Nun sitze ich schon wieder eine ganze Weile am PC und versuche, die Öffnen mit - Einträge für die verschiedenen zugehörigen Dateien wie .pas oder .dpr anzupassen. Das will mir aber nicht so richtig gelingen, da abgesehen von Delphi 5 die ausführbare Datei immer bds.exe ist. Hat sich hier schon einmal jemand damit beschäftigt und kann mir sagen, welche Einträge ich in der Registry ändern muß, um z.B. beim Popup-Menüeinträg "Öffnen mit" einer .pas-Datei alle 4 Delphi-Versionen zur Auswahl zu haben?

Über die einfachen Board-Mittel Öffnen mit -> Standard-Programm wählen -> bds-Version wählen, Haken bei Dateityp entfernen funktioniert es nicht, da er immer wieder mit der bds.exe durcheinander kommt.

himitsu 24. Jul 2014 14:25

AW: Öffnen mit - Einträge editieren
 
Demo.reg
Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\BDS.PasFile\Shell\Open]
@="Öffnen mit XE"

[HKEY_CLASSES_ROOT\BDS.PasFile\Shell\Open\Command]
@="\"C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\8.0\\Bin\\bdsLauncher.exe\" \"C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\8.0\\Bin\\bds.exe\" /np"

[HKEY_CLASSES_ROOT\BDS.PasFile\Shell\Open\ddeexec]
@="[open(\"%1\")]"

[HKEY_CLASSES_ROOT\BDS.PasFile\Shell\Open\ddeexec\application]
@="bdslauncher"

[HKEY_CLASSES_ROOT\BDS.PasFile\Shell\Open\ddeexec\topic]
@="system"
Das Open gegen "Open" gegen "OpenXE" ersetzen und den Link "Öffnen mit XE" umbennenen/erstellen.
Dann die Pfade im Command anpassen.

Bis auf die erste Zeile alles in eine *.reg-Datei und diese dann öffnen/installieren.



Falls ich jetzt nichts auf die Schnelle vergessen hab.
Und das Ganze natürlich nun für alle nötigen Datei-Endungen.

PS: Wie man von *.pas auf "BDS.PasFile" kommt: siehe Standardvalue von HKEY_CLASSES_ROOT\.pas
Code:
[HKEY_CLASSES_ROOT\.PAS]
@="BDS.PasFile"


Ich hatte ja Letztens das Problem, daß z.B. im SVN->Öffnen alles "BDSLauncher" hieß. :wall:

LokutusvB 24. Jul 2014 14:38

AW: Öffnen mit - Einträge editieren
 
Ähm, jetzt bin ich verwirrt. Ich müßte, wenn ich das richtig verstehe, in deiner demo.reg HKEY_CLASSES_ROOT\BDS.PasFile durch HKEY_CLASSES_ROOT\.pas ersetzen und dann für jede Delphi Version eine Datei erzeugen, in der dann jeweils das Command angepasst ist?

"Das Open gegen "Open" gegen "OpenXE" ersetzen und den Link "Öffnen mit XE" umbennenen/erstellen." -> Wenn ich das richtig verstehe, soll ich an der Stelle [HKEY_CLASSES_ROOT\BDS.PasFile\Shell\Open] dann jeweils "Öffnen mit <Delphi-Version" editieren? Oder soll dort nur "Öffnen mit" stehen?

mm1256 24. Jul 2014 18:09

AW: Öffnen mit - Einträge editieren
 
Hallo,

warum so kompliziert. Langsam, und nochmals von vorne:

Unter HKEY_CLASSES_ROOT steht bei ".pas", ".dpr" usw. unter welchem Key der Eintrag zum Öffnen steht.

Steht bei ".pas" z.B. "BDS.PasFile" dann steht im Key

HKEY_CLASSES_ROOT\BDS.PasFile\Shell\Open\Command

das Programm, mit welchem die .pas-Dateien geöffnet werden sollen. Da machst ein kleines Delphi-Progrämmchen wo du ganz einfach die jeweiligen Pfade zu den ausführbaren Delphi-Dateien einträgst und gut isses.

Gruss mm1256

himitsu 24. Jul 2014 18:45

AW: Öffnen mit - Einträge editieren
 
Jupp.

Und "Open" ist die Standard-"Öffnen"-Funktion, aber man kann da auch etwas Anderes angeben, wie z.B. DelphiXE, DelphiXE2, DelphiXE3 usw.
Im Standard-Wert des Pfades HKEY_CLASSES_ROOT\BDS.PasFile\Shell\Irgendwas steht dann die Übersetzung z.B. "Öffne mit Delphi XE" (ala Open -> "Öffnen").

Wenn man nur den Programmpfad im "Open" ändert, dann gibt es dennoch nur das eine "Öffnen".
Aber wenn man mehrere dieser Pfade in HKEY_CLASSES_ROOT\BDS.PasFile\Shell anlegt, dann hat man für jedes Delphi einen eigenen "Öffnen"-Link im Popup.
(das in "Open" wird für Enter/Doppelklick im Explorer, bzw. für die Operation "open" des ShellExecute verwendet)

LokutusvB 25. Jul 2014 10:04

AW: Öffnen mit - Einträge editieren
 
Hallo,

erst einmal Danke für eure Hilfe. Aber genau das verwirrt mich.

Bei mir z.V: steht unter

HKEY_CLASSES_ROOT\.pas ContentType und PerceivedType.
Eine Ebene darunter befindet sich der Schlüssel PersistentHandler. Den Schlüssel HKEY_CLASSES_ROOT\BDS.PasFile gibt es bei mir nicht. Oder ist das bei einem 64 bit System anders?

Der Schlüssel HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\FileExts\.pas
beinhaltet den Schlüssel
OpenWithList:
a delphi32.exe
b bds.exe
MRUList ba

(Hier habe ich schon ein wenig probiert, das hat aber keinen Einfluß auf die Öffnen mit-Einträge.)

und den Schlüssel
OpenWithProgids:
BDS.PasFile
DelphiUnit


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:52 Uhr.

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