У меня нет большого опыта работы с процессами, поэтому, пожалуйста, будьте терпеливы со мной.
В VS у меня есть решение с 3 проектами (proj 1, proj2, proj3). У меня есть 3 формы. Давайте назовем их F1 (созданный в proj1), F2 (созданный в proj2), F3 (созданный в proj3). Когда нажата кнопка из F1, я запускаю процесс, который открывает F2.
processExists = Process.GetProcesses().Any(yourProcess => yourProcess.ProcessName.Contains("F2"));
if (!processExists)
{
yourProcess.StartInfo.FileName = @".\F2.exe";
yourProcess.Start();
checkInterfata = false;
}
Когда F2 подходит, я запускаю другой процесс, который открывает F3.
processExists = Process.GetProcesses().Any(aProcess => aProcess .ProcessName.Contains("F3"));
if (!processExists)
{
aProcess .StartInfo.FileName = @".\F3.exe";
aProcess .Start();
aProcess = false;
}
Я могу закрыть F3 из F2, убив aProcess
при нажатии кнопки «Выход». Когда я закрываю F1, F2 закрывается, убивая yourProcess
. Я заметил, что когда я закрываю F3, F2 закрывается (что нормально), но без закрытия F3. Я попытался поставить на F2_FormClosing(object sender, FormClosingEventArgs e)
функцию команду: aProcess.Kill();
, но безуспешно. Как я могу закрыть aProcess, когда я закрываю F1?