Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Tools zur Erstellung von Explorer-Menüs (Shellextension) (https://www.delphipraxis.net/161113-tools-zur-erstellung-von-explorer-menues-shellextension.html)

Neutral General 17. Jun 2011 10:20

Tools zur Erstellung von Explorer-Menüs (Shellextension)
 
Hallo,

Ich suche ein Programm mit dem man sich als Benutzer selbst eigene Kontextmenü-Einträge definieren kann. Und es muss unter Win7 64-Bit laufen.

Ich würde mir die Ext ja selbst schreiben, aber Delphi hats ja nicht so mit 64-Bit :roll:

Gruß
Neutral General

CCRDude 17. Jun 2011 10:49

AW: Tools zur Erstellung von Explorer-Menüs (Shellextension)
 
Das kommt drauf an, wie die Einträge aussehen sollen. Auf oberster Konextmenü-Ebene ohne Icons geht das auch über die Registry (HKEY_CLASSES_ROOT, schau Dir da mal die Einträge einer beliebigen Dateiendung an, Beispiel).

Mit Untermenüs und Icons brauchst Du ne DLL (und Registry-Einträge, siehe hier). Bzw. 2, die 64-bit-Variante müsstest Du dann mit FreePascal kompilieren, aber entwickeln geht innerhalb von Delphi.

Neutral General 17. Jun 2011 10:57

AW: Tools zur Erstellung von Explorer-Menüs (Shellextension)
 
Der Code aus dem Beispiel ist doch nur um Dateiendungen für (eigene) Programme zu registrieren oder nicht? Das ist ja was anderes...

CCRDude 17. Jun 2011 11:01

AW: Tools zur Erstellung von Explorer-Menüs (Shellextension)
 
Wenn man ganz genau sein will, vermutlich schon.

Deswegen meine Nachfrage, wie die Einträge aussehen sollen.

Dateiendungen für (beliebige ;) ) Programme per Registry zu registrieren kann mehreres bedeuten. Nur ein Icon und den Beschreibungstext festlegen, festlegen was bei Doppelklick auf Dateien passiert, aber eben auch mehrere unterschiedliche Aktionen definieren, die im Explorer-Kontextmenü auftauchen.

"Echte" Shell-Extensions, die per DLL programmiert werden, haben Vorteile wie etwa Icons, Untermenüs, dynamische Text, ein-/ausblenden auch abhängig von Dateiinhalten... man kann damit schon deutlich komfortablere Einträge im Kontextmenü erstellen.

Aber der Großteil der Explorer-Kontextmenü-Einträge ist dann doch irgendwie gleich und auch nach Methode 1 realisierbar (also auch Dein
Zitat:

Ich suche ein Programm mit dem man sich als Benutzer selbst eigene Kontextmenü-Einträge definieren kann.
, wenn Du keine "gehobenen" Ansprüche hast ;) ), deswegen der Hinweis darauf :)

Oder verstehe ich Dein Anliegen vielleicht auch falsch?

Neutral General 17. Jun 2011 11:06

AW: Tools zur Erstellung von Explorer-Menüs (Shellextension)
 
Naja das was im Artikel beschrieben wird ist ja keine Shell-Extension.

Was ich will: 1 neuen Menüeintrag im Context-Menü des Explorers der bei einem Klick ein Programm ausführt (und diesem Programm einen Parameter mitgibt).

Neutral General 17. Jun 2011 11:50

AW: Tools zur Erstellung von Explorer-Menüs (Shellextension)
 
Sorry für den Doppelpost, aber ich wollte grad die Lösung hier posten:

Zitat:

Zunächst einmal den Wert von "(Standard)" aus HKEY_CLASSES_ROOT\.mdb ermitteln.

In diesem Fall wäre es Access.Application.8

Nun muss man einen neuen Schlüssel unter HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Access.Applica tion.8\shell erstellen, beliebiger Name.

Also nehmen wir mal HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Access.Applica tion.8\shell\Komprimieren
Darunter wiederum einen Schlüssel "command",
der unter "Standard" den Pfad zum gewünschten Programm beinhaltet:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Access.Applica tion.8\shell\Komprimieren\command
Standard="c:\test\programm.exe" "%1"

Hab die Anleitung dann auf mein Problem übertragen und hat wunderbar funktioniert! :)

Quelle: http://www.digital-inn.de/7472-post6.html

CCRDude 17. Jun 2011 11:55

AW: Tools zur Erstellung von Explorer-Menüs (Shellextension)
 
Und das ist auf beide beschriebenen Möglichkeiten möglich (falls es darum geht, es im Kontextmenü jeder Datei zu haben: HKCR\*\ bzw. HKCR\Folder\ ) :)

Aber diese Methode war ja wie gesagt nur als "Bonus", weil ich nicht recht einschätzen konnte ob Dein Zusatz nun bedeutet hat, daß Du wenn möglich schon lieber selber versuchen würdest, oder die Erwähnung der 64 bit nur eine "Ausrede" für keine Zeit/keine Lust (durchaus legitim) waren.

PS: Das ist doch genau dasselbe wie in meinem ersten Link (außer daß HKCR\ - in etwa - ein Link auf HKLM\SOFTWARE\Classes\ ist und Dein kopierter Text mit dem Mischmasch eher schlecht rechechiert wirkt ;) )? :)
Das ist auch keine Shell Extension im innersten Sinne ;)


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