Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eintrag in PopUp-Menü des Explorers startet programm (https://www.delphipraxis.net/13301-eintrag-popup-menue-des-explorers-startet-programm.html)

Nalincah 15. Dez 2003 18:54


Eintrag in PopUp-Menü des Explorers startet programm
 
Wie kann man in Windows ein Eintrag ins Kontexmenü des Windows Explorers eingefügen?
Bspl:

Ich hab ne mp3-Datei. Ich will, wenn man drauf klick, der Eintrag "Suche Lyrics" angezeigt wird (nur bei mp3) und wenn man drauf klickt soll der mein programm starten und dann will ich in dem programm den dateinamen benutzen. Wie bei Winamp (Play in Winamp/Enqueue in Winamp)

Niels 15. Dez 2003 20:04

Re: Eintrag in PopUp-Menü des Explorers startet programm
 
Moin!

Bei WinXP liegen die Kontextmenüeinträge in der Registrierung im Schlüssel HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt

Dort musste nen neuen Unterschlüssel erstellen
Bei (Standart) muss als Wert die URL von deinem Prog rein.
Und du musst nen Binärwert namens contexts erstellen...was du da als Wert eintragen musst weiß ich jedoch net

Nalincah 17. Dez 2003 12:29

Re: Eintrag in PopUp-Menü des Explorers startet programm
 
Ich red jetzt vom normalen Windows-Explorer. Nicht vom Internet Explorer

MathiasSimmack 17. Dez 2003 14:03

Re: Eintrag in PopUp-Menü des Explorers startet programm
 
[dp]Kontextmenü Explorer[/dp] ... 'nuff said ...

Nalincah 19. Dez 2003 22:13

Re: Eintrag in PopUp-Menü des Explorers startet programm
 
So gehts easy:
Am Beispiel eine mp3 Datei:

1. In der Registry unter "HKEY_CLASSES_ROOT" nach ".mp3" suchen. Bei mir steht dann unter "(Standard)" "Winamp.File".
2. In der Registry unter "HKEY_CLASSES_ROOT" nach "Winamp.File" suchen
3. Unter Shell stehen dann die möglichkeiten die der Anbietet (Enqueue, Open, Play). Da einfach nen neuen Schlüssel anlegen wie z.b. "Lyrics suchen"
4. Unter "Lyrics suchen" den Schlüssel "command" anlegen"
5. Unter "Standard" zb das hier eingeben

Code:
"C:\Programmierung\Lyrics\Lyrics.exe" /ADD "%1"
Mit %1 kann man z.b. den Dateinamen übergeben. Das muss dabei in Anführungszeichen stehen

6. Fertig

Jetzt brauch man nur noch mit Hier im Forum suchenParamStr in Delphi die Parameter auslesen

Leo 26. Jan 2004 13:07

Re: Eintrag in PopUp-Menü des Explorers startet programm
 
Hallo, :wiejetzt:

das was du da rausgefunden hast, ist genau das was ich suche. Nur leider kann ich es nicht ganz nachvollziehen. Ich habe einfach man den Registrierungs-Editor "regedit.exe" aufgerufen und versucht das ganze mal am Beispiel einer Textdatei nachzuvollziehen. Ich will einfach zu Testzwecken, einen Eintrag im Kontext-Menü erzeugen, der "mit IE öffnen" heißt.

Also bin ich so vorgegangen, wie es in deinem 6 Punkteplan beschrieben steht.

1. .txt suchen - da steht im Standard "txtfile"
2. gehe zu "txtfile"
3. erzeuge Schlüssel mit der Bezeichnung "mit IE öffnen"
4. unter diesem Schlüssel einen weiteren Schlüssel mit der bezeichnung "command" anlegen
5. im Standard den Pfad zum IE angeben C:\Program Files\Internet Explorer\iexplorer.exe
6. geht nicht :(

Kannst du mir bitte helfen und mir sagen, was ich falsch mache. Danke.

MathiasSimmack 26. Jan 2004 14:43

Re: Eintrag in PopUp-Menü des Explorers startet programm
 
Kann sein, dass du versehentlich den entscheidenen Punkt vergessen hast. Der fehlt nämlich in deiner Beschreibung. Wenn du in der Registry schaust, dann müsste da folgendes stehen:
Code:
txtfile
  shell
    open
    ...
Unter "shell" legst du einen neuen Schlüssel an. Nimm bspw. einen kurzen Namen
Code:
txtfile
  shell
    OpenIE
Unter diesem neuen Schlüssel "OpenIE" legst du den "command"-Schlüssel mit dem Pfad zu IE an, wobei du aber auch "%1" als Parameter (für die zu öffnende Datei) angeben musst. Die Bezeichnung im Menü, bspw. das von dir gewünschte "mit dem IE öffnen" trägst du als Wert für "(Standard)" im Schlüssel "OpenIE" ein.

Du solltest bitte mal meinem Link (s. Posting) folgen, dort findest du einige Beispiele.
Ggf. wäre ein Blick ins MSDN/PSDK von Microsoft auch nicht schlecht. Denn wo kann man alles über das Prinzip erfahren? Richtig, beim Erfinder desselben. ;)


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