2012-12-30 38 views
3

在visual studio 2010中,使用c#;檢查瀏覽器是否手動關閉

我打開一個瀏覽器:

private IE browser; 

private void Set_Browser() 
{ 
    string splashUrl = "google.com"; 
    browser= new IE(splashUrl); 
} 

如果用戶(人)關閉意外的瀏覽器,那麼我的應用程序將無法再工作。

問題:

  1. 那麼,如何檢查,如果用戶手動關閉瀏覽器?
  2. 我可以通過將瀏覽器添加到作爲控件的我的 應用程序GUI來禁用用戶關閉瀏覽器嗎? [使用Windows窗體]
  3. - >我該怎麼做?

與此相關的帖子How to use watin with WebBrowser control?最後一個問題(2歲,但沒有像樣的答案太)

編輯:在給定的URL的解決方案似乎工作。問題是,如果我嘗試將WebBrowser.ActivateX ..作爲對象發送給其他類。然後我的瀏覽器=新的IE(..)返回null。當我在窗體類中實例化它時它確實工作。任何解決方案

+0

WPF or win forms? –

+0

http://www.codeproject.com/Articles/60179/Web-Browser-in-C –

+0

ty爲鏈接Sawan,提到了一些有趣的功能。但是,提到了與WatiN相關的註釋,以及將其作爲Windows控制器實現的方式。 – dylanmensaert

回答

3

您可以搜索Internet Explorer的每x秒的過程中,看看瀏覽器使用此代碼已經運行:

bool isRunning = false; 
    foreach (Process clsProcess in Process.GetProcesses()) { 
      if (clsProcess.ProcessName.Contains("iexplore")) 
      { 
        isRunning = true; 
        break; 
      } 
    } 

您可以使用this article

或者你可以添加一個瀏覽器控件使用this article

+0

這是否也涵蓋了只關閉相關選項卡而不是瀏覽器本身的情況? –

+0

嗯,它不是,需要進一步的研究:) –

+0

Ty for reply,但這還不夠。如果我關閉由WatiN實例化的瀏覽器並手動打開一個新的IE,程序將崩潰。因爲它找不到特定的選項卡,即使有一個IE正在運行的實例。 – dylanmensaert