Начать новый процесс и убить текущий процесс - PullRequest
14 голосов
/ 25 ноября 2010

Я хочу запустить новый процесс B.exe из текущего выполняющегося процесса A.exe.

И как только B.exe запущен, я хочу убить A.exe (текущий процесс выполнения).

Хотя я могу запустить B.exe, я не могу закрыть текущий процесс, т.е. A.exe.

Код, который я использую:

//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();
}

Ответы [ 5 ]

6 голосов
/ 16 октября 2015

Если вы попадаете в этот квест о запуске процесса и после этого убиваете свой собственный процесс, используйте Environment.Exit(0), а не Application.Exit().

6 голосов
/ 25 ноября 2010

Почему вы хотите закрыть A из B, в то время как A cat запускает B, а затем закрыться само по себе?

Process.Start("A.exe");
Process.GetCurrentProcess().Kill(); // or Application.Exit(); or anything else
3 голосов
/ 25 ноября 2010

Попробуйте Process.Kill () вместо Process.CloseMainWindow () .

2 голосов
/ 25 ноября 2010

Если вы просто хотите закрыть текущий процесс, вы можете просто вызвать Application.Exit , а не циклически повторять и закрывать процессы.

1 голос
/ 11 июля 2014

Я знаю, что это старый, но в .net 4.0 вы можете сделать

ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\TEST\B.exe");
startInfo.UseShellExecute = true;//This should not block your program
Process.Start(startInfo);

Тогда приложение. Выход или что-то еще Я протестировал приложение winforms с использованием метода close form после запуска консольного приложения, которое просто блокирует Console.readline ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...