2013-10-02 3 views
4

포커스를 훔치지 않고 숨겨진 Internet Explorer 창을 열고 싶습니다. 5 분마다 Internet Explorer를 열어 업데이트 용 웹 사이트를 확인하는 Timer 개체가 있습니다. 문제는 업데이트를 확인할 때마다, 포 그라운드의 현재 응용 프로그램에서 포커스를 훔칩니다. 다음은 과정을 시작하는 방법입니다.숨겨진 Internet Explorer 창을 열지 않고도 포커스를 가져 옵니까?

 Process m_Proc = new Process(); 
     m_Proc.StartInfo.Arguments = String.Format("{0}{1}", "-nomerge ", browserURL); 
     m_Proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
     m_Proc.StartInfo.UseShellExecute = true; 
     m_Proc.StartInfo.CreateNoWindow = true; 
     m_Proc.StartInfo.FileName = String.Format("iexplore.exe"); 
     m_Proc.Start(); 

숨겨진 경우에도 항상 초점을 훔칩니다. 아무 일도 일어나지 않도록 시작하고 싶기 때문에 사용자는 자신이하고있는 일을 계속할 수 있습니다. 감사.

답변

1

명시 적으로 프로세스를 만드는 대신 COM 인터페이스를 통해 Internet Explorer를 자동화하십시오. Here's how 할 수 있습니다. ie.Visible = true을하지 마십시오. 숨겨진 상태로 유지됩니다. 완료되면 ie.Quit()으로 전화하십시오.

0

왜 이렇게 브라우저를 열지 모르겠지만 코드를 웹 사이트를 다른 방법으로 확인하는 것이 쉽지 않을까요? 아마 이런 것 같아.

 string url = "http://www.google.com"; 
     string result = null; 
     try 
     { 
      WebClient client = new WebClient(); 
      result = client.DownloadString(url); 
      //Store this result and compare it to last stored result for changes.   
     } 
     catch (Exception ex) 
     { 
      // handle error 
      MessageBox.Show(ex.Message); 
     } 

내 C#은 녹슬 었으므로 다시 확인해야합니다.

+0

감사합니다. 떨림. IE의 API를 사용하여 브라우저에서 양식을 클릭하거나 작성하는 작업을 자동화해야합니다. WebClient 객체로 가능합니까? – enlilbinny

관련 문제