110,531
社区成员
发帖
与我相关
我的任务
分享
Process[] process = Process.GetProcessesByName("进程名");
foreach (Process p in process)
{
if (!p.HasExited) // 如果程序没有关闭,结束程序
{
WaitForCloseProcess(p);
break;
}
}
// 后面是你的删除代码
..........
/// <summary>
/// 关闭进程,并等待其完成
/// </summary>
private static void WaitForCloseProcess(Process p)
{
try
{
p.Kill();
p.WaitForExit();
}
catch (System.ComponentModel.Win32Exception e)
{
WriteLog("终止进程“" + p.ProcessName + "”异常", e.Message);
}
catch (NotSupportedException e)
{
WriteLog("终止进程“" + p.ProcessName + "”异常", e.Message);
}
catch (InvalidOperationException)
{
return;
}
}
[/quote]
这种方法我也见过,但是你新生成的delet.exe执行完后不也成了不需要的文件了吗。。。我是想模仿“”软件卸载程序“执行”的那种效果。
Process[] process = Process.GetProcessesByName("进程名");
foreach (Process p in process)
{
if (!p.HasExited) // 如果程序没有关闭,结束程序
{
WaitForCloseProcess(p);
break;
}
}
// 后面是你的删除代码
..........
/// <summary>
/// 关闭进程,并等待其完成
/// </summary>
private static void WaitForCloseProcess(Process p)
{
try
{
p.Kill();
p.WaitForExit();
}
catch (System.ComponentModel.Win32Exception e)
{
WriteLog("终止进程“" + p.ProcessName + "”异常", e.Message);
}
catch (NotSupportedException e)
{
WriteLog("终止进程“" + p.ProcessName + "”异常", e.Message);
}
catch (InvalidOperationException)
{
return;
}
}
Process[] process = Process.GetProcessesByName("进程名");
foreach (Process p in process)
{
if (!p.HasExited) // 如果程序没有关闭,结束程序
{
WaitForCloseProcess(p);
break;
}
}
// 后面是你的删除代码
..........
/// <summary>
/// 关闭进程,并等待其完成
/// </summary>
private static void WaitForCloseProcess(Process p)
{
try
{
p.Kill();
p.WaitForExit();
}
catch (System.ComponentModel.Win32Exception e)
{
WriteLog("终止进程“" + p.ProcessName + "”异常", e.Message);
}
catch (NotSupportedException e)
{
WriteLog("终止进程“" + p.ProcessName + "”异常", e.Message);
}
catch (InvalidOperationException)
{
return;
}
}
[/quote]
这种方法我也见过,但是你新生成的delet.exe执行完后不也成了不需要的文件了吗。。。我是想模仿“”软件卸载程序“执行”的那种效果。[/quote]