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

论坛 期权论坛 脚本     
已经匿名di用户   2022-4-26 15:52   1477   0
找出相应进程并结束,而不是结束所有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;
        }
    }
}


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP