Windows Mobile 6 SDK로 IE 임베딩된 어플리케이션을 개발하는 도중
웹브라우저의 이벤트에 맞춰 프로그램을 할일 이있어서 웹브라우저 COM 객체에 Advise 하려고 했다.
DTM_BROWSERDISPATCH 메시지로 브라우저 컨트롤의 Dispatch 인터페이스를 얻을 수 있다고 MSDN에 나와있어서
적용해 보았다. (http://msdn.microsoft.com/en-us/library/bb415471.aspx)
당연히 웹브라우저 인터페이스를 얻을 거라는 예상과 달리
hr 의 값은 E_NOINTERFACE 였다.
그래서 구글신께 여쭈어 보았더니 나와 같은 문제를 겪고 있는사람이 아주 많았다. 그리고 뚜렷한 해결책도 없었다.
고민하던 중 다행이 HTML 컨트롤이 제공하는 몇가지 Notify 메세지를 이용하여 처리를 하긴 했지만, 그래도 좀
마음에 걸린다.
웹브라우저의 이벤트에 맞춰 프로그램을 할일 이있어서 웹브라우저 COM 객체에 Advise 하려고 했다.
DTM_BROWSERDISPATCH 메시지로 브라우저 컨트롤의 Dispatch 인터페이스를 얻을 수 있다고 MSDN에 나와있어서
적용해 보았다. (http://msdn.microsoft.com/en-us/library/bb415471.aspx)
CComQIPtrm_spDispatch; CComQIPtr m_spWebBrowser; this->m_view.GetBrowserDispatch(&m_spDispatch); HRESULT hr = m_spDispatch->QueryInterface(IID_IWebBrowser2, (void **)&m_spWebBrowser);
당연히 웹브라우저 인터페이스를 얻을 거라는 예상과 달리
hr 의 값은 E_NOINTERFACE 였다.
그래서 구글신께 여쭈어 보았더니 나와 같은 문제를 겪고 있는사람이 아주 많았다. 그리고 뚜렷한 해결책도 없었다.
고민하던 중 다행이 HTML 컨트롤이 제공하는 몇가지 Notify 메세지를 이용하여 처리를 하긴 했지만, 그래도 좀
마음에 걸린다.