2010-10-21 8 views
2

J'ai un processus qui exécute un exe:C# Pause/Stop System.Diagnostics.Process

Process pr = new Process();             
pr.StartInfo.FileName = @"wput.exe"; 

etc

Je veux être en mesure de faire une pause et d'arrêter ce processus. Y a-t-il des événements que je peux soulever pour y parvenir? J'ai plusieurs processus qui fonctionnent dans mon application, chacun avec son propre fil. J'ai regardé la pause de Threads mais cela ne me donnerait pas le résultat que je veux.

+0

avez-vous trouvé une réponse? – netadictos

+0

Certaines personnes ont dit que vous ne pouvez pas suspendre un processus quand il a commencé. Cependant, je peux mettre en pause le programme cmd en utilisant la touche Pause | Break sur mon clavier. N'y a-t-il aucun moyen d'envoyer cette commande? – nf313743

Répondre

2

Vous pouvez lire la liste des processus dans le système, comme le fait le gestionnaire de tâches et essayer de tuer le processus avec le nom "wput.exe".

Essayez cette

using System.Diagnostics; 


private void KillAllProcesses(string name) 
{ 
    Process[] processes = Process.GetProcessesByName(name); 
    foreach(Process p in processes) 
     p.Kill(); 
} 
2

Pour tuer l'utilisation du processus vient de commencer:

pr.Kill(); 

pr.WaitForExit(); 
// now you sure that it has been terminated