杀死当前Excel进程

时间:2023-03-10 02:15:15
杀死当前Excel进程

说明:

代码编写过程中,有时需要杀死当前Excel进程,而不影响其他Excel进程。

代码如下:

添加引用:

//杀死当前进程的API引用
using System.Runtime.InteropServices;
#region 杀死当前进程
/// <summary>
/// 杀死当前Excel 进程,不会影响其他
/// </summary>
/// <param name="excel"></param>
private static void KillProcess(Microsoft.Office.Interop.Excel.Application excel)
{
try
{
//得到这个句柄,具体作用是得到这块内存入口
IntPtr t = new IntPtr(excel.Hwnd);
int k = 0;
//得到本进程唯一标志k
GetWindowThreadProcessId(t, out k);
//得到对进程k的引用
System.Diagnostics.Process proc = System.Diagnostics.Process.GetProcessById(k);
//关闭进程k
proc.Kill();
}
catch { } } [DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);
#endregion
<span style="font-size:14px;"><strong>调用:</strong></span>
               //杀死Excel 进程
KillProcess(excel);