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

 

 
posted @ 2015-05-27 09:06  Jackerson  阅读(540)  评论(0编辑  收藏  举报