Winapi 验证excel或word是否在系统中真正运行(有一个打开的窗口)

Winapi 验证excel或word是否在系统中真正运行(有一个打开的窗口),winapi,vba,excel,process,Winapi,Vba,Excel,Process,当我们查看Windows任务管理器进程时,有时会看到excel.exe或winword.exe正在运行,但系统中没有打开excel或word窗口。但它在内存中运行。 如何确定任务管理器进程中的excel.exe或winword.exe是否有打开的窗口? 这些excel.exe或winword.exe是由未正确关闭的其他应用程序创建的。我无法修复该应用程序,但我需要关闭此进程 有没有办法确定系统中是否有真正打开的窗口/应用程序 我可以用下面的代码检查并终止这个过程,但是当从excel中没有窗口标题

当我们查看Windows任务管理器进程时,有时会看到excel.exe或winword.exe正在运行,但系统中没有打开excel或word窗口。但它在内存中运行。 如何确定任务管理器进程中的excel.exe或winword.exe是否有打开的窗口? 这些excel.exe或winword.exe是由未正确关闭的其他应用程序创建的。我无法修复该应用程序,但我需要关闭此进程

有没有办法确定系统中是否有真正打开的窗口/应用程序

我可以用下面的代码检查并终止这个过程,但是当从excel中没有窗口标题的网站打开excel文件时,它会失败

Process[] procs;
try {
       procs = Process.GetProcessesByName("excel");
       foreach (Process curprocess in procs) 
       {
         if (!curprocess.HasExited && string.IsNullOrEmpty(curprocess.MainWindowTitle))
         {
           curprocess.Kill(); }
         }
      }
      catch (Exception ex) {
                WriteLog(ex.ToString());
     }

有什么建议吗?

试着让它自己退出。我认为你应该有以下方法

curprocess.Application.Quit();}

祝你好运,LC

我可以终止应用程序,但我只想终止/退出没有打开窗口的应用程序。Ex.execl.exe正在任务进程中运行,但我只想杀死没有窗口的孤立excel进程。