C#学习教程:Process.Kill()问题分享


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

它只是抱怨窗户已经关闭。 因此检查

上述就是C#学习教程:Process.Kill()问题分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/959911.html

发表评论

邮箱地址不会被公开。 必填项已用*标注