Starten Sie eine Datei mit Befehlszeile Argumente, ohne zu wissen Speicherort der exe-Datei?

StackOverflow https://stackoverflow.com/questions/35914

  •  09-06-2019
  •  | 
  •  

Frage

Hier ist die situation:Ich versuche, eine Anwendung zu starten, aber die Lage des .exe ist nicht bekannt, zu mir.Nun, wenn die Datei-Erweiterung registriert ist (in Windows), kann ich etwas tun wie:

Process.Start("Sample.xls");

Ich brauche jedoch einige BefehlszeilenArgumente als gut.Ich konnte nicht bekommen dies funktioniert

   Process p = new Process();
   p.StartInfo.FileName = "Sample.xls";
   p.StartInfo.Arguments = "/r";  // open in read-only mode
   p.Start();

Irgendwelche Vorschläge auf, einen Mechanismus, um dies zu lösen?

Bearbeiten @ aku

Meine StackOverflow-Suche Fähigkeiten schwach sind;Ich fand nicht, dass die post.Obwohl ich generell nicht mögen spähte in die registry, das ist eine tolle Lösung.Vielen Dank!

War es hilfreich?

Lösung

Mit meinem code aus diese die Antwort, die Sie bekommen können-Befehl im Zusammenhang mit xls-Erweiterung.Dann übergeben Sie diesen Befehl, um Process.Start Methode.

Andere Tipps

Wenn Sie die Abfrage der Registrierung können Sie abrufen der Daten über die registrierten Dateityp und dann rufen Sie die app direkt vorbei am command line arguments.Finden Programmgesteuert Prüfen und Einstellen Dateitypen ein Beispiel für das abrufen der shell-Informationen für ein Datei-Typ.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top