IHTMLDocument2* WebBrowser::GetHTMLDocument2() { if( _pHtmlDoc2 != NULL ) _pHtmlDoc2->Release(); _pHtmlDoc2 = NULL ; IWebBrowser2* pWB2 = NULL; IDispatch* pDp = NULL; NULLTEST_AE(pWB2 = GetWebBrowser2() ); HRTEST_E(pWB2->get_Document(&pDp)); NULLTEST_E( pDp ); // ie7情况下如果document还不存在,则 pWB2->get_Document会返回错误, 但是ie6则不会有有任何HR错误, 他只是使pDp=NULL. HRTEST_E(pDp->QueryInterface(IID_IHTMLDocument2,(void**)&_pHtmlDoc2)); return _pHtmlDoc2; RETURN: return NULL; } 本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/norsd/archive/2009/03/18/4000478.aspx