Zugehörige Anwendung öffnen?

Moin Experten,

folgendes Problem: ich will aus einer Anwendung heraus Datentabellen öffnen. Die Anwendung bietet die Möglichkeit, ein externes Programm aufzurufen (muss eine .exe sein) und beim Aufruf Argumente zu übergeben. So weit so gut.

Wenn ich aber jetzt z.B. eine Excel-Tabelle öffnen will, fangen die Probleme an: der eine hat Excel 2007, der andere Excel 2010, der dritte OpenOffice. Alle werden natürlich verschieden aufgerufen.

Gibt es eine Möglichkeit, den „Öffnen“ Befehl aus dem Explorer zu „imitieren“, also die dem Dokumententyp zugeordnete Anwendung zu öffnen, bzw. wenn nicht vorhanden, den User wählen zu lassen?

Die PC haben meist Windows 7 Ent. 64bit - allerdings wäre es nicht übel, wenn die Lösung auch auf anderen Windows Versionen funktionieren würde. Ist aber kein Muss.

Gruß
Stefan

Nachtrag
Nachtrag:

Ich könnte natürlich mit

cmd.exe /c start 

arbeiten, aber das aufflackernde DOS-Fenster ist unschön. Geht das nicht eleganter, über sowas ähnliches wie rundll?

Gruß
Stefan

Hallo!
Du kannst mit

wscript.exe 

auch ein VBScript oder JScript durch den Windows Scripting Host ausführen lassen.
Damit kannst Du genauso Shellaufrufe machen, aber normalerweise ohne DOS-Fenster.

Gruß,
Martin

Hi!

Danke für Deine Antwort.

Du kannst mit wscript.exe auch ein VBScript oder
JScript durch den Windows Scripting Host ausführen lassen.
Damit kannst Du genauso Shellaufrufe machen, aber
normalerweise ohne DOS-Fenster.

Stimmt. Das werde ich dann wohl machen. Ich hoffte halt, dass es eine elegantere Lösung gäbe.

Gruß
Stefan

Hallo nochmal!
Du kannst natürlich auch mit einem VBScript oder JScript anfangen, die Registry auszulesen (HKCR.xls und Unterschlüssel), um herauszubekommen, mit welchem Programm auf dem jeweiligen Rechner .xls Dateien geöffnet werden sollen und dann dieses Programm aufrufen, aber da Dir das einfache "start " das doch alles abnimmt, warum dann den Aufwand selbst treiben?
Außerdem musst Du Dich dann noch darum kümmern, was passiert, wenn der entsprechende Dateityp noch nicht mit einem Programm verknüpft ist, was bei "start " auch automatisch passiert.

Gruß,
Martin