Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eigene Datei mit Registryeintrag öffnen (https://www.delphipraxis.net/59581-eigene-datei-mit-registryeintrag-oeffnen.html)

Chrissi91 25. Dez 2005 07:33


Eigene Datei mit Registryeintrag öffnen
 
Hallo,

wenn jemand einen Rechtsklick auf eine Datei macht, kommt meistens ein fettgedruckter Befehl öffnen. Darunter, möchte ich gerne meinen eigenen haben. Es muss nicht dirket darunter sein, hauptsache in der Liste :-D.

Aber: Da es für mein Verschlüsselungsprogramm ist, muss es bei jeder Dateiendung möglich sein. Jetzt habe ich mit der Registry aucch noch nicht so viel Erfahrung.

Also: Alle Dateien, die NICHT die Endung SSL haben, sollen einen Eintrag namens Verschlüsseln im WindowsPopupMenü haben, wenn man rechtsklickt. Hat die Datei die Endung SSL (B.: Bild.bmp.ssl), soll im PopUpMenü nicht verschlüsseln stehen, sondern entschlüsseln stehen.

Wenn nun jemand daraufklickt, soll sich meine Exe öffnen. Der Pfad, der vorher angewählten Datei soll übergeben werden. Es musss übergeben werden, welche Aktion gewählt wurde ( wenn der Pfad übertragen ist, kann man auch die Endung abfragen, nämlich ob dort .ssl ist, oder nicht. ). Aber bei allen Dateien soll die Funktion Öffnen fettgedruckt bleiben, damit sich jede Datei mit dem Doppelklickt öffnet.

Ich möchte noch etwas ähnliches Fragen: Alle verschlüselten Dateien ( also mit der Endung .ssl ) sollen einen bestimmten Icon haben.

Das Problem: Ich will es nicht manuell einstellen, sondern im Programm. :lol:

Danke schon im Vorraus.

Chrissi91 25. Dez 2005 07:52

Re: Eigene Datei mit Registryeintrag öffnen
 
Das habe ich eben schon mal selber mit der Suche gefunden. Applaus bitte :mrgreen:

http://www.delphipraxis.net/internal...ht=dateiendung

Aber trotzdem, was mache ich, wenn es bei allen so sein soll?

Cookiemaster 27. Dez 2005 00:02

Re: Eigene Datei mit Registryeintrag öffnen
 
Da gibt es wohl 2 Möglichkeiten, die einfache ist hier:
HKEY_CLASSES_ROOT\*\shell\<<<einname>>>\open\comma nd
Der * steht für alle Dateitypen.


Die andere Möglichkeit ist aufwendiger, dafür muss man eine "Explorer-Extension-DLL" (oder so ähnlich) schreiben.
Beispiel WinRAR:
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Wi nRAR\(Standard) = {B41DB860-8EE4-11D2-9906-E49FADC173CA}
HKEY_CLASSES_ROOT\CLSID\{B41DB860-8EE4-11D2-9906-E49FADC173CA}\InProcServer32\(Standard) = C:\Programme\WinRAR\rarext.dll
Damit kann deine DLL wohl für unterschiedliche Dateitypen unterschiedliche Kontexteinträge anzeigen lassen.
WinRAR z.B. zeigt im Kontextmenü bei RAR-Dateien etwas anderes an als bei allen anderen Typen.

Ein Beispiel ist wohl bei Delphi dabei:
<DelphiInstallPath>\Demos\ActiveX\ShellExt

Der Jan 27. Dez 2005 07:37

Re: Eigene Datei mit Registryeintrag öffnen
 
Am besten schaust du mal in die MSDN, da ist das recht gut beschrieben. Bei "predefined shell objects" wirst du bestimmt auch fündig...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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