BOOL DuiLib::CWebBrowserUI::CallJsFun(LPOLESTR pName, VARIANT *pVarResult, VARIANT *params /* = NULL */, int cArgs /* = 0 */) { IDispatch *pHtmlWindow = GetHTMLWindow2(); //»ñÈ¡Ò³Ãæwindow ASSERT(pHtmlWindow); return SUCCEEDED(InvokeMethod(pHtmlWindow,pName,pVarResult,params,cArgs)); }
// GetHTMLWindow2 must return CComPtr<IHTMLWindow2>, otherwise get "Access Violation" exception!!! CComPtr<IHTMLWindow2> GetHTMLWindow2(IWebBrowser2* pWebBrowser2) { return GetHTMLWindow2(GetHTMLDocument2(pWebBrowser2)); }