Démarrer un nouveau processus et de Tuer les processus en cours
Je veux commencer un nouveau processus B.exe de l'actuel de l'exécution de processus A.exe.
Et dès que B.exe est lancé j'ai envie de tuer A.exe (le courant de l'exécution de processus).
Si je peux commencer B.exe je ne peux pas fermer mon processus actuel je.e A.exe.
Code que j'utilise est:
//Start the BT Setup Process
ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\TEST\B.exe");
Process.Start(startInfo);
//Terminate the FSA
Process[] myProcess = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
foreach (Process process in myProcess)
{
process.CloseMainWindow();
//all the windows messages has to be processed in the msg queue
//hence call to Application DoEvents forces the MSG
Application.DoEvents();
}
par la manière, je ne veux pas utiliser le traitement.Kill() la méthode
Pourquoi ne voulez-vous pas utiliser
cos il ne marche pas appeler mon code de nettoyage
Pourquoi ne pas appeler votre code de nettoyage manuellement et ensuite appeler le Tuer? Comme d'autres l'ont mentionné, vous devriez regarder dans pourquoi l'Application.Exit() ne fonctionne pas pour vous.
Pourquoi ne voulez-vous pas utiliser
Process.Kill()
méthode?cos il ne marche pas appeler mon code de nettoyage
Pourquoi ne pas appeler votre code de nettoyage manuellement et ensuite appeler le Tuer? Comme d'autres l'ont mentionné, vous devriez regarder dans pourquoi l'Application.Exit() ne fonctionne pas pour vous.
OriginalL'auteur srivatsa | 2010-11-25
Vous devez vous connecter pour publier un commentaire.
Pourquoi voulez-vous fermer
A
deB
toutA
chatB
puis fermer par lui-même?OriginalL'auteur abatishchev
Si vous tombez dans cette quête de départ d'un processus, et de tuer votre propre processus après, utiliser
Environment.Exit(0)
, pasApplication.Exit()
.C'est très important... parce que, il y a des moments où vous ne voulez pas tuer les threads... droit? Et parfois vous faites!
OriginalL'auteur Fabiano Cores
Essayer Processus.Kill() au lieu de Processus.CloseMainWindow().
OriginalL'auteur Colin Pickard
Si vous voulez juste pour fermer le processus en cours, vous devriez être en mesure de simplement appeler Application.Sortie plutôt qu'en parcourant et de clôture des processus.
Si l'appel de
Application.Exit
dans votre processus fait pendre, alors je dirais qu'il pourrait être intéressant d'essayer de savoir pourquoi, qui peut automatiquement répondre à votre question ci-dessus.OriginalL'auteur Hans Olsson
Je sais c'est vieux mais dans .net 4.0, vous pouvez faire
Puis L'Application.Sortie ou quoi
J'ai testé avec une application winforms à l'aide de la méthode du formulaire après le lancement d'une application de console que seulement quelques pâtés de maisons de la Console.readline();
OriginalL'auteur Steven Gerdes