直接开个Process执行cmd /c taskkill -f -im winword.exe
这是最简单有效的方法.
private void KillProcess(string processName) //调用方法,传参
{
try
{
Process[] thisproc = Process.GetProcessesByName(processName);
//thisproc.lendth:名字为进程总数
if (thisproc.Length > 0 )
{
for (int i=0; i< thisproc.Length;i++)
{
if (!thisproc[i].CloseMainWindow()) //尝试关闭进程 释放资源
{
thisproc[i].Kill(); //强制关闭
}
Console.WriteLine("进程 {0}关闭成功", processName);
}
}
else
{
Console.WriteLine("进程 {0} 关闭失败!", processName);
}
}
catch //出现异常,表明 kill 进程失败
{
Console.WriteLine(“结束进程{0}出错!", processName);
}
如果你是用在asp.net里,我建议你用专业的第三方产品PageOffice,对word死进程处理得很好
GC.Collection()
p.Close();试试看