- CComPtr<IDispatch> pDispatch;
- hResult = m_AddressEditBox->QueryInterface(IID_PPV_ARG(IDispatch, &pDispatch));
- if (FAILED_UNEXPECTEDLY(hResult))
- return hResult;
- DISPPARAMS params = {0};
- hResult = pDispatch->Invoke(DISPID_NAVIGATECOMPLETE2, GUID_NULL, 0, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL);
+ // Subscribe to navigation events
+ CComPtr<IShellBrowser> pShellBrowser;
+ hResult = IUnknown_QueryService(m_pSite, SID_SShellBrowser, IID_PPV_ARG(IShellBrowser, &pShellBrowser));
+ DWORD dwAdviseCookie;
+ if (SUCCEEDED(hResult))
+ AtlAdvise(pShellBrowser, static_cast<IDispatch *>(this), DIID_DWebBrowserEvents, &dwAdviseCookie);