Process.Kill()问题
我有以下几行代码:
Process aProcess = Process.Start("ieexplorer", aDummyHTMLFilePath); //I do nothing in between aProcess.Kill();
如果没有其他IE窗口打开,这将顺利运行。
但是如果有一个窗口打开,我在aProcess.Kill();
上得到一个System.InvalidOperationException
aProcess.Kill();
说:
无法处理请求,因为该进程已退出。
另外,我注意到在这种情况下, aProcess.HasExited
在上面的代码中的第1行之后是正确的。
即使有其他IE窗口打开,我怎样才能顺利关闭IE?
当您启动Internet Explorer的新实例时,它将尝试查看Internet Explorer是否已在运行。 如果确实如此,则在已运行的实例中打开URL,并立即退出新实例。 这意味着当你试图杀死你开始的过程时,它已经自愿退出了。 但是,您将在屏幕上看到一个新的浏览器窗口或选项卡,但由现有的Internet Explorer进程托管。
我没有遇到和你一样的问题
如果进程仍在运行,我发现以下情况有效
Process p = Process.Start("notepad.exe", ""); Thread.Sleep(5000); if (!p.HasExited) p.Kill();
它只是抱怨窗户已经关闭。 因此检查