Datei aus Windows Explorer heraus öffnen

Hallo zusammen,

ich habe mit C# einen Editor geschrieben, mit dem ich einen bestimmten Dateityp öffnen kann. Das ganze soll auch über den Windows Explorer möglich sein, also über „Öffnen mit“ -> „mein Programm“.
Wenn ich nur eine Datei auswähle funktioniert das Ganze auch ganz gut.
Ich frage in der Main-Methode (static void Main(string[] args)) das übergebene Argument ab und verwende es.

Leider funktioniert das aber nur mit einer Datei. Wenn ich im Windows Explorer zwei oder mehr Dateien auswähle und gleichzeitig über „Öffnen mit“ mit meinem Programm öffnen möchte, bekomme ich trotzdem immer nur einen Dateipfad als Argument übergeben.

Rufe ich mein Programm über eine Batch- Datei auf
„Mein Programm“ „Datei1“ „Datei2“
kann ich im Programm beide Argumente verarbeiten.

Hat jemand ne Idee, warum der Explorer nur einen Dateinamen übergibt? Bei Programmen, wie Notepad++ funktionierts ja auch. Gibt’s evtl. noch ne andere Möglichkeit.

Danke

Gruß
Torsten

Hab mich wohl geirrt. Das was ich will, geht auch mit anderen Programmen nicht.

Wenn ein Dateityp einmal mit einem Programm verknüpft ist, dann bekomme ich auch alle Dateinamen übergeben, wenn ich diese gleichzeitig öffnen möchte.

Nur wenn ich im Windows Explorer „Öffnen mit“ verwende, wird nur eine Datei übergeben, egal wie viele Dateien im Explorer ausgewählt sind.

Gruß
Torsten

Hallo,
über einen Umweg würde mir einfallen wie es realisierbar wäre:
du holst dir beim Programmaufruf ein Handle zu dem Fenster, welches dein Programm aufgerufen hat.

Wenn es der Explorer war dann fragst du ab ob mehrere Dateien selektiert sind und holst dir dann ggf deren Pfade.

grüße
Pako

Gute Idee. Danke

Werd’ ich noch mit einbauen.

Gruß
Torsten