应该是微软的一个BUG吧,操作完EXCEL并退出后,仍然会有一个EXCEL的进程留存。
解决方法:
用API,将进程杀掉。
using System.Runtime.InteropServices;
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); //API获取进程ID
public static void KillProcess(IntPtr HWND)
{
int id = 0;
GetWindowThreadProcessId(HWND, out id);
System.Diagnostics.Process process = System.Diagnostics.Process.GetProcessById(id);
process.Kill();
}
//调用方式
Excel.Application xlsApp = new Excel.Application();
xlsApp.Quit();
KillProcess(new IntPtr(xlsApp.Hwnd));