我有一个表格(MainForm)。 MainForm 有一个按钮,可以调用 Editor.exe 。 exe调用者代码显示如下:
private void InsertEquaButtonClick(object sender, EventArgs e)
{
Process p = Process.Start(Editor.exe);
string test = p.ProcessName;
p.WaitForExit();
}
Editor.exe 是一个单独的可执行文件,它提供了一个用户输入表单;用户在该表单中输入一个图像文件后,单击“确定”按钮,它将关闭,该图像将被放入MainForm。
以下是确定按钮的代码:
.......
encoder.Save(s);// Save image to MainForm
var processes = Process.GetProcessesByName("Editor");
foreach (Process proc in processes)
{
proc.CloseMainWindow(); // Propblem is here
// proc.Close();
}
..........
问题是,当我在编辑器中单击“确定”按钮时,所有应用程序(MainForm和Editor.exe)都会关闭。
那么,如何在不杀死MainForm进程(父进程)的情况下杀死Editor.exe(子进程)?
我一直在尝试:
proc.close()
和
pro.Kill()
和
...
但它们不起作用。
提前感谢您的帮助。
答案 0 :(得分:1)
可能是以下链接可以帮助您实现您想要做的事情:
答案 1 :(得分:1)
问题是因为我的伙伴使用线程到我们的项目运行得更快,所以当我在编辑器中关闭进程时它会关闭线程。 ....这是有问题的原因 谢谢你