Microsoft MVP성태의 닷넷 이야기
글쓴 사람
서광원 (cycos83 at naver.com)
홈페이지
첨부 파일
 

안녕하세요 IE를 이용한 자동으로 이곳 저곳을 탐색하는 프로그램을 만드는 중인 초보자 입니다.

현재 아래와 같은 코드로 응용 프로그램에서 IE를 띄워서 탐색하는 중입니다.

CComPtr<IWebBrowser2> pBrowser2;

 VARIANT vEmpty;
 VariantInit(&vEmpty);

 hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER,
  IID_IWebBrowser2, (void**)&pBrowser2);
 
 pBrowser2->put_AddressBar(false);
 pBrowser2->put_ToolBar(false);
 pBrowser2->put_Left(-1);
 pBrowser2->put_Top(-1);
 pBrowser2->put_Width(700);
 pBrowser2->put_Height(400);
 pBrowser2->put_Visible(true);


strUrl.Format("http://www.devpia.com");
 bstrUrl = strUrl.AllocSysString();
 pBrowser2->Navigate(bstrUrl, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
 SysFreeString(bstrUrl);
 

그런데 연속적으로 싸이트들을 방문하다 보면 가끔 alert 창이 뜨는 페이지들이 있습니다.

이런 경우는 직접 확인을 해줘야 하기 때문에 프로그램을 이용한 자동화가 막히고 있는 상황입니다.

검색을 하다보니 특정 함수를 구현하면 해당 메세지를 스킵 할 수 있다고 해서 코드를 받아서 붙여보기도 하고 했지만

제 프로젝트와는 성격이 안맞아서 인지 제가 원하는 결과가 나오지 않고 있습니다.

Navigate 함수를 이용한 탐색중에 나오는 javascript의 alert 명령을 무시할 수 있는 방법을 알려 주시면 감사하겠습니다.

참고로 제 프로젝트는 MFC 다이얼로그 기반의 프로젝트 이며(HTML다이얼로그는 아님) 다이얼로그에서 버튼을 누르면

쓰레드 함수를 생성하고 해당 쓰레드 함수에서 위에 적은 것과 같은 코드로 IE를 생성하게 됩니다.

IDocHostShowUI의 ShowMessage를 오버라이딩(?) 해서 제가 원하는 형식으로 구현을 하면 된다는 것 까지는 찾았는데 그것을 제 프로그램에 적용을 시키는 법을 모르겠습니다.

어떤식으로 오버라이딩(?)을 하고 오버라이딩해서 만들어진 클래스를 어떻게 IWebBrowser2을 이용해서 실행시켜 놓은 IE에 적용시키는지 예시를 들어 주시면 감사하겠습니다.








[최초 등록일: ]
[최종 수정일: 7/16/2009]


비밀번호

댓글 작성자
 



2009-07-16 11시48분
제가 보기에는 충분히 구현하실 수 있지 않을까 싶은데요.
관련한 인터페이스를 구현한 예제는 구글링을 통해서 찾아보시면 될 것 같습니다.

일단 예제 코드를 자신의 코드에 직접 응용하려고 하지 말고, 새로 프로젝트를 구성해서 그 예제가 잘 돌아갈 수 있는 코드 위주로 먼저 작성해 보십시오.
kevin25

... 61  62  63  [64]  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
1022선무당1/11/201219073TFS 에서 공통 Assembly 공유 방법에 대해서 해결책이 없을까요? [2]
1021김재영1/8/201218175대리자를 메소드 파라메터로 넘겨도 됩니까? [2]파일 다운로드1
1019남산골11/13/201921116안녕하세요!! 성태님~~ [3]
1018강한구12/29/201124476WPF ClickOnce 배포시 콤포넌트 dll 다운로드 문제에 대하여 질문 있습니다. [1]
1017임동찬12/28/201121412smart client와 xbop, silverlight [6]
1015개똥이12/22/201118612RMCLOCK 설정 관련 질문이요ㅜ [2]
1011사길수12/16/201118742hyper-v 이더넷 카드 관련 문의 좀 드립니다. [1]
1006루로니12/13/201120804윈도우7과 XP의 DLL후킹 처리에 관해서 질문입니다. [3]
1005남산골12/13/201120708안녕하세요!! 첫 인사드립니다. [3]
1004뽀로로12/12/201117616Managed 어셈블리에서의 COM EntryPoint procaddress 문제 [1]
1003나그네12/8/201119812닷넷에서 가상메모리(Commit) 의 크기를 줄이거나 해제하는 방법은 어떻게 해야할지요? [1]
1002나그네11/29/201119369안녕하세요 ^^ 문제가 생겨서 혹시나 여기서라면 답이 나오지 않을까 해서.. [1]
1001선무당11/29/201120541clickonce+ntd 시스템에서 proxy Server 가 개입되는 경우 cache 해결을 위한 방법... [1]
1000초보개발자11/28/201118990웹서비스용 웹 서버의 SSD 가치에 대해서... [1]
999날쌘돌이11/25/201116235ADFS와 WIF 질문 [1]
998윤용한11/9/201118152File Write 도중 정전 발생 시 대처 방법 있나요? [2]
997조장원11/7/201117575Silverlight 에서의 Auth 방법에 대한 고찰 [2]파일 다운로드1
996파몽11/3/201120653VS2010 에서 타겟플랫폼이 x86으로 변경이 된걸일까요? [2]
995강신명10/24/201117171sharepoint2010+win7 client 오류 [2]파일 다운로드1
992라이언10/11/201117332캡션에 chapter numbers 넣기
993정성태10/11/201119952    답변글 [답변]: 캡션에 chapter numbers 넣기
991우상욱8/21/201121742세션 타임 아웃에 관해서 질문드립니다. [2]
990김재영8/20/201124705VS2010의 윈폼의 Load이벤트에서 예외가 잡혀지지 않습니다. [3]파일 다운로드1
989우상욱8/20/201117501polling에 대해 감이 안잡혀서 질문드립니다 [1]
988WooY...8/17/201117560성태님~ 작은 부탁 하나 있습니다~ [2]
987에스패스트8/3/201119575비밀글쓰기가 있으면 참좋을탠대 아쉽네요 ^^ 저 한가지만더.. [5]
... 61  62  63  [64]  65  66  67  68  69  70  71  72  73  74  75  ...