Salut,
wenn ich mir für einzelne Dateitypen die Befehlszeilen für bestimmte Befehle (Öffnen, Drucken, Play...) aus der Registry lasse, erhalte ich gewöhnlich einen String der Form
"C:\Pfad\Anwendung" "%1"
Diese würde ich nun gerne ausführen, indem ich den Parameter %1 mit dem Dateipfad ersetze und dann das ganze ausführe.
Process.Start scheint mir hier aber nicht weiter zu helfen, da die eine Überladung keine Befehlszeileparameter im String akzeptiert, die andere die Parameter als eigenes Argument haben möchte.
Manuell den String aufsplitten, erweist sich auch als schwierig, da z.B. VLC seinen Pfad nicht in Hochkommata setzt:
C:\Program Files\VideoLAN\VLC\vlc.exe --started-from-file "%1"
Für Tipps, wie ich das elegant löse, wäre ich dankbar.
Stefan
Hallo vbtricks,
Process.Start ("cmd.exe", "/c C:\Program Files\VideoLAN\VLC\vlc.exe --started-from-file \"%1\"");
herbivore
Salut,
tut nicht. Wenn ich /c durch /k ersetze, sehe ich, dass ihm das Leerzeichen nach C:\Program (zurecht) aufstößt.
Der entsprechende Eintrag im Kontextmenü von wmv-Dateien tut aber (warum auch immer).
Gibt's eine Chance, das noch zum Laufen zu bekommen? Ansonsten tut's mit VLC halt nicht, Nicht-Standard-konforme Anwendungen haben dann zurecht das Nachsehen.
Stefan
Hallo vbtricks,
Der entsprechende Eintrag im Kontextmenü von wmv-Dateien tut aber (warum auch immer).
anscheinend versucht der Explorer solange die durch Leerzeichen getrennten Teile zusammenzusetzen, bis er einen gültigen Pfad gefunden hat. Das ist dann die Anwendung, der Rest die Parameter.
herbivore
Ok, dann belasse ich es dabei und setze das bei VLC in den Bug Tracker.
Danke und schönen Sonntag noch,
Stefan
Das sollte doch funktionieren, wenn man den Pfad in quotes setzt, oder?
Process.Start ("cmd.exe", "/c \"C:\Program Files\VideoLAN\VLC\vlc.exe\" --started-from-file \"%1\"");
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!
Hallo GMLOD,
ja, klar, aber es geht ja gerade darum, wie man die Zeile starten kann, ohne die Anführungsstriche an die richtige Stelle setzen zu müssen. 🙂
herbivore
hilft eventuell das Program start.exe?
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Hallo kleines_eichhoernchen,
meinst du wirklich start.exe oder meinst du den Built-In-Befehl start aus cmd.exe?
herbivore
War mir eigtl. sicher, das es mal eine start.exe in Windows gegeben hat. Nein meine das start von cmd.exe.
Edit: Mit Start funktionierts leider auch nicht
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
War mir eigtl. sicher, das es mal eine start.exe in Windows gegeben hat.
War, glaube ich, zu Windows 95 Zeiten. Ist wahrscheinlich spätestens mit Windows ME dahin gegangen...
nur noch kurz zur Info:
Hatte am 5.10. eine Mail an das Projektteam von VLC geschickt und heute Rückmeldung bekommen, dass das Installer-Skript entsprechend angepasst wurde:
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=f34d75845e92aba425f9e3b5954c79b5b174684d
Das nenne ich Support.