Ich nehme an, du hast das "LinkSend"-Menü in das Kontextmenü reinbekommen, in dem du in der Registrierung von Windows einen entsprechenden Eintrag gemacht hast. Ich glaube du kannst in der Registrierung auch festlegen, was für Daten an dein Programm übergeben werden sollen, nachdem dieses über das Kontextmenü gestartet worden ist.
Hier mal ein
Link (zu Punkt 3 "Kontextmenue ergänzen" runterscrollen!) zu einem Tipp, der erklärt wie man die DOS-Box aus dem Kontextmenü heraus mit dem aktuellen Pfad startet. Das kannst du umwandeln, so dass dein Programm gestartet wird.
Ich hab den Spaß jetzt mal ausprobiert, es funktioniert ganz gut.
Mache dazu folgendes:
erstelle ein Programm, dass bei Programmstart (oder auch nach einem Klick auf einen Button) folgende Codezeile enthält:
Visual Basic:
MsgBox VBA.Interaction.Command
Danach erstellst du eine Exe-Datei von dem Programm und speicherst es irgendwo.
Nun öffnest du die Registrierung von Windows (z.B. über Start-->Ausführen --> regedit eingeben)
Dann zum Schlüssel
HKEY_CLASSES_ROOT wechseln, dann nach
FOLDER, dann nach
SHELL. Jetzt mit der rechten Maustaste auf SHELL draufklicken und im erscheinenden Menü auf Neu-->Schlüssel klicken. Wie du den Schlüssel nennst ist völlig egal (du solltest dir halt was sinnvolles ausdenken). Nun kannst du (musst du aber nicht!) in dem neu erstellten Schlüssel den Wert namens "(Standard)" bearbeiten (durch Doppelklick drauf) und einen Text eingeben. Dieser Text erscheint dann in deinem Kontextmenü.
Jetzt klickst du auf den neu erstellten Schlüssel wieder mit der rechten Maustaste und dann Neu-->Schlüssel. Dieser Schlüssel muss den Namen
command erhalten.
Bis hier hin hast du es vermutlich schon selber rausgefunden (so wie ich es deinem Screenshot entnehme, aber vielleicht interessiert sich ja noch der ein oder andere dafür).
Dann den neuen Schlüssel
command anklicken (linke Maustaste). Nun den Wert "(Standard)" durch Doppelklick bearbeiten: hier schreibst du nun den exakten Pfad zu deinem Programm rein, das gestartet werden soll und anschließend (durch Leerzeichen getrennt) die Zeichen "%1" (entweder mit oder ohne Anführungszeichen, je nach dem wie du es in deinem Programm später lieber haben möchtest.)
Wenn du die ganze Sache nun ausprobierst und einen oder mehrere Ordner im Explorer markierst und im Kontextmenü deinen eben erstellten Eintrag anklickst, dann sollte sich dein Programm starten und in der Messagebox (die wir eingebaut haben, siehe oben) den Pfad des markierten Ordners anzeigen.
(Wenn du mehrere Ordner markierst startet sich dein Programm mehrmals)
Edit:
Um einen Kontextmenü auch bei Dateien zu erhalten, gibt es mehrere Möglichkeiten
(siehe hier).
Die einfachste Möglichkeit, um bei
allen Dateien ein Kontextmenü zu erhalten, ist folgende:
man macht das Gleiche wie oben, nur in einem anderen Hauptschlüssel, nämlich
HKEY_CLASSES_ROOT und dann im Schlüssel der nur einen Stern
* als Namen trägt. Dort dann einen Ordner
shell erstellen (bei mir war der noch nicht vorhanden) und dann die gleichen Schlüssel und Einträge wie oben geschildert erstellen.
Leider hat das einen Nachteil: Sollten Dateien noch keinem Programm zugeordnet sein (also wenn bei einem Doppelklick auf die Datei normalerweise der Windows "Öffnen-Mit..."-Dialog erscheint), so ist die Datei ab sofort deinem Programm zugeordnet...