您的位置:首页 > 编程语言 > C#

C#导出Excel后无法结束相应进程的解决办法

2014-06-06 12:24 756 查看
找出相应进程并结束,而不是结束所有Excel进程:

public class KillExcelProcess
{
    [DllImport("User32.dll", CharSet = CharSet.Auto)]
    public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);

    public static bool Kill(Microsoft.Office.Interop.Excel.Application excel)
    {
        try
        {
            IntPtr t = new IntPtr(excel.Hwnd);   //得到Excel的句柄
            int tag = 0;
            GetWindowThreadProcessId(t, out tag);   //获取本进程id
            System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(tag);   //获取此进程的引用
            p.Kill();     //关闭进程,世界真美好
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐