![]() |
[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 ![]() 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] |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Mache das, was dieses REG-Script macht:
Code:
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.
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] Wenn du die unterstrichene Zeile wegläßt, erscheint "BELIEBIG" als Eintrag im Kontextmenü! |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
In deinem Delphi InstallPath findest du den Ordner \Demos\ActiveX\ShellExt. Dort sind einige Beispiele.
|
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:
Was muss ich jetzt statt Beliebig schreiben?
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" |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Zitat:
@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:
|
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Sorry für die dumme Frage:
Wo finde ich die Komponente T-Regestry? |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Zitat:
![]() |
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? |
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. |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Zitat:
Code:
Allerdings ist es nicht sicher, daß es den Schlüssel mp3file bei dir gibt. Alternativ probierst du die "harte Methode" - die klappt eigentlich immer:
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"
Code:
EDIT: Sorry, falsches Tag benutzt.
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" |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
muss ich danach neustarten?
|
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Zitat:
|
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Windows XP Home SP2
aber des mit dem abmelden probier ich mal Hat aus nix gebracht. |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Welches der beiden letzten Scripte hast du benutzt? Das mit mp3file oder das mit .mp3?
Dann wäre noch interessant, ob du mal mit REGEDIT.EXE nachgucken könntest, ob du HKEY_CLASSES_ROOT\.mp3 oder HKEY_CLASSES_ROOT\mp3file findest. |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
das mit .mp3 hab ich benutzt
im regeditor seh ich unter mp3file\shell\shadow den eintrag aber es erscheint nix im kontextmenü ich start jetzt mal neu Der Neustart hat auch nix gebracht |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
2 Sachen. Kannst du mal den absoluten Pfad angeben (ich bin nicht sicher, ob eine Variable dort geht) und kannst du bitte ganz am Ende folgendes anfügen (noch vor dem abschließenden ")
Code:
... damit übergibst du deinem Programm den Dateinamen.
\"%L\"
|
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Delphi-Quellcode:
Hat leider auch nix gebracht. Oder müssen des hinter dem \%L\ zwei " sein?
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] @="C:\\Programme\\Shadow\\shadow.exe\%L\" |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Zitat:
Code:
Bitte testen und danach verifizieren, daß die Defaultwerte (jene mit "@=") unter dem Schlüssel jeweils existieren.
REGEDIT4
[HKEY_CLASSES_ROOT\.mp3\shell] [HKEY_CLASSES_ROOT\.mp3\shell\shadow] @="&ID3-Tag bearbeiten" [HKEY_CLASSES_ROOT\.mp3\shell\shadow\command] @="C:\\Programme\\Shadow\\shadow.exe[color=red][u] \"%L\"[/u][/color]" |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Liste der Anhänge anzeigen (Anzahl: 1)
Der Schlüssel ist da siehe Anhang.
|
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Zitat:
Du kannst den Defaultwert nochmal so editieren, daß der Pfad deines Programms in doppelten Anführungsstrichen erscheint. Sonst weiß ich aktuell nicht weiter. Das ist nämlich die Methode, die auch MS benutzt (wenn nicht sogar echte Shell-Extensions, siehe Sprints Post, benutzt werden). |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Habs editiert und es geht trotzdem nicht :(
Schade, dann werd ich wohl aufgeben müssen oder mir eine andere Lösung suchen müssen. |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Klaus
der Schlüssel darf nicht "shadow" heißen, er muß "open" heißen. bye Claus |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Ich hab gerade die kompletten registry-einträge .mp3 und mp3file gelöscht und die .reg datei nochmal ausgefürt
dan gings aber wenn ich dan mit winamp die datei geöffnet habe und eingestellt habe er soll der standartplayer für mp3 sein gings nichtmehr |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Hallo Klaus
weil die Winamp die Einträge überschreibt bzw. auf seine eigenen Einträge legt. bye Claus |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Also geht es nicht wegen Winamp?
Aber andere Programme kann ich auch aus dem Kontext starten obwohl ich Winamp drauf hab |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Hallo Klaus,
ja, weil Winamp der Standardplayer sein will. Nimm die Verknüpfung bei Winamp raus und es wird funktionieren. bye Claus |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Du hast recht es liegt nur an Winamp, aber ich kann ja nicht den usern von meinem Programm sagen sie sollen
Winamp deinstallieren. Dann lass ich es eben so und änder das ein anderes mal Also nochmal vielen Dank an Claus und Olli für eure Hilfe :kiss: |
Re: Kontextmenü von Datei --> Datei mit meinem Programm ö
Zitat:
Es können beliebige eigene Verben hinzugefügt werden. Nachtrag: Verben können wahlweise wie oben gezeigt arbeiten oder über DDE (Dynamic Data Exchange), eine veraltete Technik die als IPC-Mechanismus dient. |
Re: [Erledigt] Kontextmenü Datei mit meinem Programm öffnen
Hallo Olli,
war ein Versuch wert ... bye Claus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:29 Uhr. |
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