清除流氓Excel应用程序
本文关键字:应用程序 Excel 流氓 清除 | 更新日期: 2023-09-27 18:29:57
我有一个作业服务器,可以在Excel中自动化一天中的各种报告(使用MS Query)。一个或多个报表总是会异常终止,留下一个必须清除的Excel实例。
清理作业使用Interop,看起来像这样:
Excel.Application xl;
for (int i = 0; i < 20; i++)
{
try
{
xl = (Excelx.Application)Marshal.GetActiveObject("Excel.Application");
xl.Visible = true;
xl.Quit();
}
catch (Exception ex)
{
break;
}
}
它在大多数情况下都是有效的,但每隔一段时间我就会得到一个不想死的Excel实例。第二天早上,我可以在任务管理器中手动终止这个过程,但我还没有找到在前一天晚上运行的清理工作中复制它的方法。
如果有人能告诉我如何在上面的工作中添加一个更"粗鲁"的后续任务,并会杀死任何名为EXCEL.exe的东西,我将不胜感激。
此外,我必须为机器上的每个用户运行此作业。如果有办法的话,我也欢迎你的反馈。
似乎暴力关闭进程是可行的方法:
foreach (var process in Process.GetProcessesByName("excel"))
{
process.Kill();
}
https://stackoverflow.com/a/3345421/1278553