2017-08-22 22 views
0

我想关闭IE的最新窗口/选项卡,但当我调用杀死方法窗口重新启动时没有页面的内容。 这是我用它来获取最新的IE进程代码:关闭与C#使用杀死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(); 

的代码工作的方式,最近一段时间窗口中的“停止”工作,但窗口不beeing关闭

任何想法?

+0

你想明确关闭窗口,关闭一个标签,或基于接近任何事情的最新催生IE进程是? – RavB

+0

它关闭了标签,但IE重新打开它时,我做到了 – BugFinder

+0

和https://stackoverflow.com/questions/31098717/how-force-close-all-ie-processes-with-alert-on-form-unload可以关闭所有这些都是它应该做的事 – BugFinder

回答

0

嗨,我只是发现如何解决这个问题。

由于我的IE浏览器在“Internet选项高级”选项卡中选中了“启用自动崩溃恢复”选项,因此消息被抛出。

所以,如果你面对这个问题,你有2个选项取消选中永远的选项(这可能适用于你的情况),或者在我的情况下,你可以通过注册表键改变选择,当你完成测试时,返回值开启。

所以要做到这一点,您需要在打开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);