杀死当前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);

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。