gpt4 book ai didi

c# - 为什么 process.MainWindowTitle 返回空字符串?

转载 作者:行者123 更新时间:2023-11-30 21:59:49 30 4
gpt4 key购买 nike

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();
}
}

这是写入控制台的:

enter image description here

所以该方法发现 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/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com