본문 바로가기
반응형

IWebBrowser29

[개발/VC++] 익스플로러에서 새창이 생성될때 그 창의 포인터를 얻는 방법 익스플로러에서 새창이 생성될때 그 창의 포인터를 얻는 방법 익스플로러에서 새창이 생성되면 Newwindow2이벤트가 일어납니다. 새로 생성된 익스플로러창의 포인터를 얻는 방법이 있나요? 제가 만든 브라우저가 포함된 다이얼로그 폼으로 Set하면 됩니다. 그러나 일반적으로 생성되는 새창의 포인터를 얻고 싶습니다. 즉, IWebBrowser2의 포인터를 얻고 싶습니다. 그 이유는 현재창에 이벤트를 sink시키고 새로운 창이 생기면 그 창도 이벤트를 sink시키려고 하는데 새로운 창의 IWebBrowser2포인터를 얻어 올 수가 없어요.. 그래서, 브라우저 인스턴스를 만들고 그 브라우저의 IWebBrowser2포인터의 Get_Application()함수를 이용하여 ppDisp에 넘겼는데 새로운창도 뜨고, 인스턴.. 2015. 12. 17.
[개발/VC++] WebBrowser Control 이벤트 연결 - C++ [개발/VC++] WebBrowser Control 이벤트 연결 - C++ WebBrowser Control IDispatch IWebBrowser2 .ReadyState READYSTATE_COMPLETE .Navigate2() .get_Document() // IDispatch -> IHTMLDocument2 .get_StatusText() on DownloadBegin on DocumentComplete on DownloadCompleteIOleObject IHTMLWindow2IHTMLDocument2 .get_all() .get_parentWindow() // IHTMLWindow2IHTMLElementCollection .item() .tags // IHTMLElementCollectionIH.. 2015. 1. 22.
[개발/VC] 웹페이지 로드될 때까지 기다리기 [개발/VC] 웹페이지 로드될 때까지 기다리기 m_pWebBrowser->Navigate(...); 로 페이지 호출 후 페이지가 로딩 완료될 때까지 기다리는 함수이다. bool CMyInternetExplorer::WaitTillLoaded (int nTimeout) { READYSTATE result; DWORD nFirstTick = GetTickCount (); do { m_pWebBrowser->get_ReadyState (&result); if (result != READYSTATE_COMPLETE) Sleep (250); if (nTimeout > 0) { if ((GetTickCount () - nFirstTick) > nTimeout) break; } } while (result != RE.. 2011. 9. 27.
[개발/VC++] 실행중인 IE의 URL 구하기 IE 의 URL을 구하는 것은 생각보다 쉽습니다. 좋은 예제파일이 함께 있어서 올려봅니다. 따라해 보세요. 실행중인 IE의 URL 구하기 // URL을 추출합니다. ASSERT(m_spSHWinds != NULL); long nCount = m_spSHWinds->GetCount(); IDispatchPtr spDisp; for (long i = 0; i Item(va); SHDocVw::IWebBrowser2Ptr spBrowser(spDisp); if (spBrowser != NULL) m_ctrlUrlList.AddString(spBrowser->GetLocationURL()); } 출.. 2011. 3. 11.
[개발/VC++] 익스플로러에서 새창이 생성될때 그 창의 포인터를 얻는 방법 익스플로러에서 새창이 생성될때 그 창의 포인터를 얻는 방법 익스플로러에서 새창이 생성되면 Newwindow2이벤트가 일어납니다. 새로 생성된 익스플로러창의 포인터를 얻는 방법이 있나요? 제가 만든 브라우저가 포함된 다이얼로그 폼으로 Set하면 됩니다. 그러나 일반적으로 생성되는 새창의 포인터를 얻고 싶습니다. 즉, IWebBrowser2의 포인터를 얻고 싶습니다. 그 이유는 현재창에 이벤트를 sink시키고 새로운 창이 생기면 그 창도 이벤트를 sink시키려고 하는데 새로운 창의 IWebBrowser2포인터를 얻어 올 수가 없어요.. 그래서, 브라우저 인스턴스를 만들고 그 브라우저의 IWebBrowser2포인터의 Get_Application()함수를 이용하여 ppDisp에 넘겼는데 새로운창도 뜨고, 인스턴.. 2011. 3. 11.
[개발/VC++] WebBrowser Control 이벤트 연결 - C++ [개발/VC++] WebBrowser Control 이벤트 연결 - C++ WebBrowser Control IDispatch IWebBrowser2 .ReadyState READYSTATE_COMPLETE .Navigate2() .get_Document() // IDispatch -> IHTMLDocument2 .get_StatusText() on DownloadBegin on DocumentComplete on DownloadComplete IOleObject IHTMLWindow2 IHTMLDocument2 .get_all() .get_parentWindow() // IHTMLWindow2 IHTMLElementCollection .item() .tags // IHTMLElementCollectio.. 2011. 2. 10.
반응형