2009-08-27 10 views
4

Existe-t-il une solution/des références sur la façon d'ouvrir ou d'exécuter certains programmes de fenêtres en C#? Par exemple si je veux ouvrir l'application WinZIP ou le bloc-notes?exécuter/ouvrir un programme en C#

Des exemples sur la ligne de codes sont plus utiles. Mais tout est bien accueilli.

merci.

+1

Gah. Combien de variantes "Comment exécuter un autre programme en C#?" question existe sur SO? –

Répondre

16

Vous pouvez utiliser la méthode System.Diagnostics.Process.Start.

Process.Start("notepad.exe"); 

Il travaillera avec les fichiers qui ont associé un programme par défaut:

Process.Start(@"C:\path\to\file.zip"); 

ouvre le fichier avec son application par défaut.

Et même avec des URL pour ouvrir le navigateur:

Process.Start("http://stackoverflow.com"); // open with default browser 

D'accord avec @Oliver, ProcessStartInfo vous donne beaucoup plus de contrôle sur le processus, un exemple:

ProcessStartInfo startInfo = new ProcessStartInfo(); 

startInfo.FileName = "notepad.exe"; 
startInfo.Arguments = "file.txt"; 
startInfo.WorkingDirectory = @"C:\path\to"; 
startInfo.WindowStyle = ProcessWindowStyle.Maximized; 

Process process = Process.Start(startInfo); 

// Wait 10 seconds for process to finish... 
if (process.WaitForExit(10000)) 
{ 
    // Process terminated in less than 10 seconds. 
} 
else 
{ 
    // Timed out 
} 
+3

Pour avoir plus de contrôle sur le démarrage du processus, vous devriez jeter un coup d'œil sur ProcessStartInfo, qui peut également être utilisé comme argument pour Process.Start(). Jetez un oeil ici: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo_members.aspx – Oliver

+0

Oui le code fonctionne !!! Merci beaucoup et la réponse aussi très vite. – user147685

Questions connexes