Lancer un fichier avec des arguments de ligne de commande sans connaître l'emplacement de l'exe ?

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

  •  09-06-2019
  •  | 
  •  

Question

Voici la situation :J'essaie de lancer une application, mais je ne connais pas l'emplacement du .exe.Maintenant, si l'extension de fichier est enregistrée (sous Windows), je peux faire quelque chose comme :

Process.Start("Sample.xls");

Cependant, je dois également transmettre certains arguments de ligne de commande.Je n'arrivais pas à faire fonctionner ça

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

Des suggestions sur un mécanisme pour résoudre ce problème ?

Modifier @aku

Mes compétences de recherche StackOverflow sont faibles ;Je n'ai pas trouvé ce message.Bien que je n'aime généralement pas consulter le registre, c'est une excellente solution.Merci!

Était-ce utile?

La solution

En utilisant mon code de ce réponse, vous pouvez obtenir la commande associée à l'extension xls.Ensuite, vous pouvez passer cette commande à Process.Start méthode.

Autres conseils

Si vous interrogez le registre, vous pouvez récupérer les données sur le type de fichier enregistré, puis appeler l'application en passant directement les arguments de ligne de commande.Voir Vérification et définition par programme des types de fichiers pour un exemple de récupération d’informations shell pour un type de fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top