184 votes

Comment lancer un processus à partir de C# ?

Comment lancer un processus, tel que le lancement d'une URL lorsque l'utilisateur clique sur un bouton ?

248voto

Andy McCluggage Points 8583

Comme suggéré par Matt Hamilton, l'approche rapide lorsque vous avez un contrôle limité sur le processus, est d'utiliser la méthode statique Start de la classe System.Diagnostics.Process...

using System.Diagnostics;
...
Process.Start("process.exe");

L'alternative est d'utiliser une instance de la classe Process. Cela permet un contrôle beaucoup plus important sur le processus, y compris la programmation, le type de fenêtre dans laquelle il s'exécutera et, ce qui est le plus utile pour moi, la possibilité d'attendre que le processus se termine.

using System.Diagnostics;
...
Process process = new Process();
// Configure the process using the StartInfo properties.
process.StartInfo.FileName = "process.exe";
process.StartInfo.Arguments = "-n";
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
process.Start();
process.WaitForExit();// Waits here for the process to exit.

Cette méthode permet un contrôle bien plus important que celui que j'ai mentionné.

27voto

Matt Hamilton Points 98268

Vous pouvez utiliser le System.Diagnostics.Process.Start pour lancer un processus. Vous pouvez même passer une URL comme chaîne de caractères et le navigateur par défaut sera lancé.

17voto

GvS Points 28137

Comme le dit Matt, utilisez Démarrage du processus .

Vous pouvez transmettre une URL ou un document. Ils seront lancés par l'application enregistrée.

Exemple :

Process.Start("Test.Txt");

Ceci lancera Notepad.exe avec Text.Txt chargé.

10voto

Blackvault Points 14

J'ai utilisé ce qui suit dans mon propre programme.

Process.Start("http://www.google.com/etc/etc/test.txt")

C'est un peu basique, mais ça fait l'affaire pour moi.

6voto

SimperT Points 2381
var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "/YourSubDirectory/yourprogram.exe");
Process.Start(new ProcessStartInfo(path));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X