Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [Erledigt] Kontextmenü Datei mit meinem Programm öffnen (https://www.delphipraxis.net/50746-%5Berledigt%5D-kontextmenue-datei-mit-meinem-programm-oeffnen.html)

klaus.meyer 30. Jul 2005 21:47


[Erledigt] Kontextmenü Datei mit meinem Programm öffnen
 
Hallo liebe DP-ler,

ich schreibe gerade ein Programm zum editieren der ID3-Tags in MP3-Dateien.
Und jetzt möchte ich gerne, dass wenn ich auf eine MP3-Datei rechts klicke in dem
Menü das Symbol meinses Programmes mit dem Text "ID3-Tags bearbeiten" erscheint und
durch klick auf dieses Menü-Item mein Programm mit dem Dateinamen als Parameter gestartet wird.
Das mit den Parametern hab ich schon eingebaut, nur das mit der Integration in das Menü bekomm ich nicht hin.

Das sollte dann so aussehen

http://img194.imageshack.us/img194/9825/screen1th.png

Der Eintrag ist von einem anderen Programm.


Ich hoffe, dass ich ins richtige Forum gepostet habe.
Ich hab auch schon die Suche verwendet und leider nix gefunden.

Vielen Dank im Voraus für eure Hilfe :dp:

Viele Grüße

Klaus Meyer

[Edit]Was ich noch vergessen hab ich möchte das nicht unter Öffnen mit > haben sondern direkt im Kontextmenü[/Edit]

Olli 30. Jul 2005 21:54

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
Mache das, was dieses REG-Script macht:
Code:
REGEDIT4

[HKEY_CLASSES_ROOT\mp3file\shell]

[HKEY_CLASSES_ROOT\mp3file\shell\[color=red]BELIEBIG[/color]]
; Hier kommt die Beschreibung
[u][color=red]@="&Bearbeiten"[/color][/u]

[HKEY_CLASSES_ROOT\mp3file\shell\[color=red]BELIEBIG[/color]\command]
[color=red]@="Pfad_zu_deinem_Programm"[/color]
Achtung, die Backslashes (\) in Pfaden dieser Dateien müssen immer doppelt sein. Wenn du Anführungszeichen im Pfad hast, müssen diese als \" geschrieben werden. Zuguterletzt benutzt du zB %L um den Parameter zu übergeben (also die Datei deren Kontextmenü du offen hast). Dies ist die simpelste Methode.

Wenn du die unterstrichene Zeile wegläßt, erscheint "BELIEBIG" als Eintrag im Kontextmenü!

Sprint 30. Jul 2005 21:56

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
In deinem Delphi InstallPath findest du den Ordner \Demos\ActiveX\ShellExt. Dort sind einige Beispiele.

klaus.meyer 30. Jul 2005 21:57

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
:wiejetzt:

Sorry aber wie soll das dann in Delphi gehen?


Edit:

Also müsste ich ein Script anlegen:

Delphi-Quellcode:
REGEDIT4

[HKEY_CLASSES_ROOT\mp3file\shell]

[HKEY_CLASSES_ROOT\mp3file\shell\BELIEBIG]
; Hier kommt die Beschreibung
@="&ID3-Tag bearbeiten"

[HKEY_CLASSES_ROOT\mp3file\shell\BELIEBIG\command]
@="%programmfiles%\ID3\id3-edit.exe"
Was muss ich jetzt statt Beliebig schreiben?

Olli 30. Jul 2005 22:03

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
Zitat:

Zitat von Sprint
In deinem Delphi InstallPath findest du den Ordner \Demos\ActiveX\ShellExt. Dort sind einige Beispiele.

Sprint hat recht, aber Vorsicht. Dies ist ein komplett anderes Konzept. Wenn es dir darum geht mit deiner EXE bei einem bestimmten Dateityp einen oder mehrere Einträge im Kontextmenü zu haben ist dies sicher Overkill. Außerdem ist es absolut nicht trivial Shell-Extensions zu debuggen!

@klaus.meyer: Du erstellst ein TRegistry-Objekt und dann erstellst du (wenn nicht vorhanden) shell unterhalb von mp3file (oder alternativ .mp3). Danach die andern Pfade wie im Reg-Script dargestellt. "@=" signalisiert, daß es der Standardwert eines Schlüssels ist.

Zitat:

Zitat von klaus.meyer
Was muss ich jetzt statt Beliebig schreiben?

Was immer du willst. Es sollte vorzugsweise nicht mit einem vorhandenen Schlüssel kollidieren. Das ist die einzige Bedingung.

klaus.meyer 30. Jul 2005 22:06

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
Sorry für die dumme Frage:

Wo finde ich die Komponente T-Regestry?

Olli 30. Jul 2005 22:14

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
Zitat:

Zitat von klaus.meyer
Wo finde ich die Komponente T-Regestry?

Es gibt keine dummen Fragen ;)

Delphi-Referenz durchsuchenTRegistry findest du in der Unit Registry (also "uses Registry").

klaus.meyer 30. Jul 2005 22:16

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
OK danke aber wenn ich das jetzt über dieses Script mache (nur mal als install.reg)

dann geht das nicht kannst du mir sagen was ich falsch mache (des mit den doppelbackslashes hab ich nicht kapiert)

Delphi-Quellcode:
REGEDIT4

[HKEY_CLASSES_ROOT\mp3file\shell]

[HKEY_CLASSES_ROOT\mp3file\shell\shadow]
; Hier kommt die Beschreibung
@="&ID3-Tag bearbeiten"

[HKEY_CLASSES_ROOT\mp3file\shell\shadow\command]
@="%programmfiles%\Shadow\shadow.exe"

oder wirkt das erst nach nem neustart?

bigg 30. Jul 2005 22:20

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
Liste der Anhänge anzeigen (Anzahl: 1)
moin,

ich habe vor einiger Zeit mal eine Demo dazu gemacht.

Olli 30. Jul 2005 22:22

Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
 
Zitat:

Zitat von klaus.meyer
dann geht das nicht kannst du mir sagen was ich falsch mache (des mit den doppelbackslashes hab ich nicht kapiert)

Code:
REGEDIT4

[HKEY_CLASSES_ROOT\mp3file\shell]

[HKEY_CLASSES_ROOT\mp3file\shell\shadow]
; Hier kommt die Beschreibung
@="&ID3-Tag bearbeiten"

[HKEY_CLASSES_ROOT\mp3file\shell\shadow\command]
@="%programmfiles%[color=red]\\[/color]Shadow[color=red]\\[/color]shadow.exe"
Allerdings ist es nicht sicher, daß es den Schlüssel mp3file bei dir gibt. Alternativ probierst du die "harte Methode" - die klappt eigentlich immer:
Code:
REGEDIT4

[HKEY_CLASSES_ROOT\.mp3\shell]

[HKEY_CLASSES_ROOT\.mp3\shell\shadow]
; Hier kommt die Beschreibung
@="&ID3-Tag bearbeiten"

[HKEY_CLASSES_ROOT\.mp3\shell\shadow\command]
@="%programmfiles%[color=red]\\[/color]Shadow[color=red]\\[/color]shadow.exe"
EDIT: Sorry, falsches Tag benutzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr.
Seite 1 von 3  1 23      

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