2017-08-22 39 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);