web-dev-qa-db-fra.com

Lancer une application (.exe) à partir de C #?

Comment lancer une application en C #?

Conditions requises: Doit fonctionner sur Windows XP et Windows Vista .

J'ai vu un échantillon de l'échantillonneur DinnerNow.net qui ne fonctionne que sous Windows Vista.

153
rudigrobler

Utilisez la méthode System.Diagnostics.Process.Start() .

Découvrez cet article sur la façon de l'utiliser.

161
Igal Tabachnik

Voici un extrait de code utile:

using System.Diagnostics;

// Prepare the process to run
ProcessStartInfo start = new ProcessStartInfo();
// Enter in the command line arguments, everything you would enter after the executable name itself
start.Arguments = arguments; 
// Enter the executable to run, including the complete path
start.FileName = ExeName;
// Do you want to show a console window?
start.WindowStyle = ProcessWindowStyle.Hidden;
start.CreateNoWindow = true;
int exitCode;


// Run the external process & wait for it to finish
using (Process proc = Process.Start(start))
{
     proc.WaitForExit();

     // Retrieve the app's exit code
     exitCode = proc.ExitCode;
}

Vous pouvez faire beaucoup plus avec ces objets, vous devriez lire la documentation: ProcessStartInfo , Process .

222
sfuqua
System.Diagnostics.Process.Start("PathToExe.exe");
55
Mark S. Rasmussen
System.Diagnostics.Process.Start( @"C:\Windows\System32\Notepad.exe" );
17
Adam Kane

Si vous rencontrez des problèmes lors de l'utilisation de System.Diagnostics, utilisez le code simple suivant qui fonctionnera sans celui-ci:

Process notePad = new Process();
notePad.StartInfo.FileName   = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();
13
NDB

De plus, vous souhaiterez utiliser les variables d'environnement pour vos chemins si possible: http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows

PAR EXEMPLE.

  • % WINDIR% = Répertoire Windows
  • % APPDATA% = Données d'application - Varie beaucoup entre Vista et XP.

Il y en a beaucoup plus, consultez le lien pour une liste plus longue.

8
Brian Schmitt

Adame Kane

System.Diagnostics.Process.Start(@"C:\Windows\System32\Notepad.exe");

cela a très bien fonctionné !!!!!

5

Il suffit de placer votre fichier.exe dans le dossier\bin\Debug et d’utiliser:

Process.Start("File.exe");
2
Eng Amin

Essaye ça:

Process.Start("Location Of File.exe");

(Assurez-vous d'utiliser la bibliothèque System.Diagnostics)

1
user6436606

Utilisez Process.Start pour démarrer un processus.

using System.Diagnostics;
class Program
{
    static void Main()
    {
    //
    // your code
    //
    Process.Start("C:\\process.exe");
    }
} 
0
Deadlock