C# 应用程序进程终止/崩溃时终止子进程
我正在从我的应用程序创建新进程,希望在应用程序崩溃时/如果应用程序崩溃,这些进程将被终止 所以我找到了这个帖子:。 我使用第一个示例,将所有代码复制到函数C# 应用程序进程终止/崩溃时终止子进程,c#,windows,process,system.diagnostics,user32,C#,Windows,Process,System.diagnostics,User32,我正在从我的应用程序创建新进程,希望在应用程序崩溃时/如果应用程序崩溃,这些进程将被终止 所以我找到了这个帖子:。 我使用第一个示例,将所有代码复制到函数public void Close()下的一个新类中 出现错误-名称Win32在当前上下文中不存在,因此我添加了Microsoft.Win32 还有一个错误- CloseHandle无法识别 命名空间“Microsoft.Win32”中不存在类型或命名空间名称“CloseHandle”(是否缺少程序集引用?) 我该如何修复它呢?一种更简单的方法
public void Close()
下的一个新类中
出现错误-名称Win32
在当前上下文中不存在,因此我添加了Microsoft.Win32
还有一个错误-
CloseHandle
无法识别
命名空间“Microsoft.Win32”中不存在类型或命名空间名称“CloseHandle”(是否缺少程序集引用?)
我该如何修复它呢?一种更简单的方法——或者我相信是这样的 跟踪您启动的所有流程
ArrayList chilProcess_id = new ArrayList();
public void process_starter()
{
Process p;
p = new System.Diagnostics.Process();
p.StartInfo.FileName = "YOUR PROCESS PATH";
if (!p.Start())
chilProcess_id.Add(p.Id);
}
现在,在退出之前,请终止这些进程
public void exitApplication()
{
Process p;
foreach (int p_id in chilProcess_id)
{
p = Process.GetProcessById(p_id);
try
{
if(!p.HasExited)
p.Kill();
}
catch (Exception e)
{
//Handle the exception as you wish
}
}
}
对于ArrayList,添加命名空间
using System.Collections;
using System.Diagnostics;
为进程添加命名空间
using System.Collections;
using System.Diagnostics;
可能重复的