본문 바로가기

삽질

Windows Mobile HTML 컨트롤 DTM_BROWSERDISPATCH 문제

Windows Mobile 6 SDK로 IE 임베딩된 어플리케이션을 개발하는 도중

웹브라우저의 이벤트에 맞춰 프로그램을 할일 이있어서 웹브라우저 COM 객체에 Advise 하려고 했다.

DTM_BROWSERDISPATCH 메시지로 브라우저 컨트롤의 Dispatch 인터페이스를 얻을 수 있다고 MSDN에 나와있어서

적용해 보았다. (http://msdn.microsoft.com/en-us/library/bb415471.aspx)
		CComQIPtr m_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 메세지를 이용하여 처리를 하긴 했지만, 그래도 좀

마음에 걸린다.