我正在开发一个用于应用程序的c#winforms的插件编写。 我在调试中设置了一个启动操作。我已设置启动外部程序,它正在启动该应用程序。 在我的winforms中,我编写了一个按钮点击事件的代码,该事件开始一个新的过程,如 notepad.exe
现在问题是每当我关闭该外部应用程序时,应该自动关闭从此按钮单击事件调用的所有打开的记事本。
任何帮助都可以表示赞赏。
答案 0 :(得分:1)
您可以使用System.Diagnostics.Process启动进程,如下所示:
Process proc=Process.Start("notepad.exe");
在Closing事件中,您可以使用:
proc.Kill;
此外,您只能存储流程的ID:
//arr is int array where stored your processes ids
for(int i=0; i<arr.Length; i++)
{
Process.GetProcessById(arr[i]).Kill();
}
答案 1 :(得分:1)
在此示例中,我关闭计算器时关闭记事本:
private void Form1_Load(object sender, EventArgs e)
{
foreach (Process p in Process.GetProcessesByName("calc"))
{
p.EnableRaisingEvents = true;
p.Exited += p_Exited;
}
}
void p_Exited(object sender, EventArgs e)
{
foreach (Process p in Process.GetProcessesByName("notepad"))
{
p.CloseMainWindow();
}
}