作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Excel 在任务管理器中生成大量僵尸进程,下面的命令旨在杀死它们。
我有这个辅助方法:
//helper method to kill zombie excel processes
private void KillSpecificExcelFileProcess(string excelFileName)
{
var processes = from p in Process.GetProcessesByName("EXCEL")
select p;
foreach(var process in processes)
{
Console.WriteLine("{2} MainWindowTitle {0} {1}",process.MainWindowTitle,(process.MainWindowTitle == "Microsoft Excel - " + excelFileName).ToString(),excelFileName);
if(process.MainWindowTitle == "Microsoft Excel - " + excelFileName)
process.Kill();
}
}
这是写入控制台的:
所以该方法发现 Excel 进程正常,但 process.MainWindowTitle
是一个空字符串 - 这是为什么?
编辑
在控制台中打开 Excel,如下所示:
using Excel = Microsoft.Office.Interop.Excel;
然后在类里面:
this.xlApp = new Excel.Application();
this.xlApp.Visible = true;
最佳答案
process.MainWindowTitle
获取进程主窗口的标题,格式为:
[filename] - Excel
在您的示例中,process.MainWindowTitle
属性等于
Control.xlsm - Excel
而不是“Microsoft Excel - Control.xlsm”。如果问题仍然存在,则考虑将 process.MainWindowTitle
匹配为空字符串!
关于c# - 为什么 process.MainWindowTitle 返回空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29007831/
Excel 在任务管理器中生成大量僵尸进程,下面的命令旨在杀死它们。 我有这个辅助方法: //helper method to kill zombie excel processes private
当访问 Process.MainWindowTitle 如下... Process[] processes = Process.GetProcessesByName( "iexplore" ); ..
我是一名优秀的程序员,十分优秀!