如何在不影响父进程的情况下关闭子进程

本文关键字:情况下 子进程 进程 影响 | 更新日期: 2023-09-27 18:22:45

我有一个窗体(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中。

这是OK按钮的代码:

.......
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()

...

但它们不起作用。

提前感谢您的帮助。

如何在不影响父进程的情况下关闭子进程

可能是以下链接可以帮助您实现您想要做的事情:

代码段:终止所有子进程

这个问题是因为我的合作伙伴在我们的项目中使用线程运行得更快,所以当我在编辑器中关闭进程时,它会关闭线程。。。。这是有问题的原因感谢

相关文章: