2012-12-30 8 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 Forms 사용]
  3. -> 어떻게해야합니까?

이 게시물 How to use watin with WebBrowser control?에 관한 마지막 질문 (2 세,하지만 너무없는 괜찮은 답)

편집 : 탄력성의 URL에서이 솔루션은 작동하는 것 같다. 문제는 WebBrowser.ActivateX ..를 다른 클래스의 객체로 보내려고 할 때입니다. 그런 다음 내 브라우저 = 새 IE (..)는 null을 반환합니다. 그것은 폼 클래스에서 인스턴스화 할 때 작동합니다. 어떤 해결책?

+0

WPF 또는 win forms? –

+0

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

+0

ty 링크 Sawan에 대한 몇 가지 흥미로운 특징이 언급되어 있습니다. 그러나 WatiN과 관련하여 Windows 컨트롤러로 구현하는 방법에 대해서도 언급했습니다. – dylanmensaert

답변

3

당신은 모든 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

타이가 답장을 보내지 만 충분하지 않습니다. WatiN에 의해 ​​인스턴스화 된 브라우저를 닫고 직접 새 IE를 열면 프로그램이 중단됩니다. IE의 인스턴스가 실행중인 경우에도 특정 탭을 찾을 수 없기 때문입니다. – dylanmensaert