使用Kill使用C#关闭IE特定窗口不起作用

时间:2017-08-22 14:43:18

标签: c# internet-explorer forceclose

我正在尝试关闭IE的最新窗口/标签但是当我调用Kill方法时,窗口重新启动而没有页面内容。 这是我用来获取最新IE进程的代码:

var a = System.Diagnostics.Process.GetProcessesByName("iexplore");
DateTime earliestStart = DateTime.Today.Subtract(new TimeSpan(1,0,0,0));
System.Diagnostics.Process youngestProccess = a.FirstOrDefault();


                foreach(var b in a){
                    if (b.StartTime > earliestStart)
                    {
                        earliestStart = b.StartTime;
                        youngestProccess = b;
                    }
                }                
                youngestProccess.Kill();

代码的工作方式是最近的窗口“停止”工作,但窗口没有关闭

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您好,我发现如何解决问题。

正在抛出该消息,因为我的IE有选项"启用自动崩溃恢复"在“Internet选项高级”选项卡中选中。

因此,如果你面对这个,你有两个选择:永远不检查该选项(这可能适用于你的情况)或者在我的情况下你可以通过注册表键更改选择,当你完成测试时返回值为继续。

为此,您需要在打开IE之前将其添加到您的代码中。

Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Recovery", "AutoRecover", 2);  

要重新启用该选项,您必须执行相同操作但使用0

Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Recovery", "AutoRecover", 0);