idispatch* pdisp =Null;idispatch* PDISP2 =Null;ihtmldocument2*PHTMLDOC2 =null;ihtmlelementcollection*pcol;ihtmlmetaelement*pmeta =NULL; BSTR BURL=NULL; BSTR BSTR=NULL;Try { if((pdisp = M_webbrowser.get_document ()) &&SUCCEEDED (Pdisp->queryinterface (Iid_ihtmldocument2, (pvoid*) &pHtmlDoc2)) && succeeded (Phtmldoc2->get_all (&pcol)) &&pcol) { //Check if the domain name is www.test.com or www.test2.com, if the META tag has a myflag tag, if there is a page that is considered correct bisgoodwebpage is truePhtmldoc2->get_url (&BURL); if(Wcsstr (Constwchar_t*) BUrl, L"www.test.com") ==NULL&& Wcsstr ((Constwchar_t*) BUrl, L"www.test2.com") ==NULL) {Bisgoodwebpage=TRUE; } Else { LongElelen =0; Pcol->get_length (&Elelen); IHTMLMetaElement* Pmetaelement =NULL; VARIANT VarIndex; HRESULT hr; for(intI=0; i< Elelen; i++) {VARIANT var2; VARINDEX.VT=Vt_uint; Varindex.lval=i; VariantInit (&var2); HR= Pcol->item (VarIndex, VAR2, &pDisp2); HR= Pdisp2->queryinterface (Iid_ihtmlmetaelement, (void* *) &Pmeta); if(hr = =S_OK) { if(SUCCEEDED (Pmeta->get_httpequiv (&BSTR)) ) { if(!WCSCMP (Constwchar_t*) bstr,l"keywords") ) {BSTR=NULL; if(SUCCEEDED (Pmeta->get_content (&BSTR))) { if(!WCSCMP (Constwchar_t*) BSTR, L"Myflag") ) {Bisgoodwebpage=TRUE; Break; } } } } } } } }}Catch (...) {Wbtrace ("error\r\n");} Safe_release (Pmeta); Safe_release (PDISP2); Safe_release (PHTMLDOC2); Safe_release (pdisp);
Meta-analysis of MFC WebBrowser reading documents