VC中如何通过IHTMLDOCUMENT2的指针得到当前网页中的SWF的URL,或通过该指针怎眼遍历网页中的object?

解决方案 »

  1.   

    IHTMLDocument3::getElementsByTagName MethodHRESULT getElementsByTagName(          BSTR v,
        IHTMLElementCollection **pelColl
    );
      

  2.   

    IHTMLObjectElement::object PropertyHRESULT IHTMLObjectElement::get_object(IDispatch **p);
      

  3.   

    获得所有的item
    IHTMLElementCollection* objAllElement = NULL; // element collections
    pDoc2->get_all(&objAllElement);然后用item() 遍历
      

  4.   

    同Flash插件使用 <object>标签 或者 <emeb>标签 引入的
      

  5.   

     xiexie 大家解答。<emeb>标签 引入的 是不是<embed>? 假如我用下面的。。
    CComPtr<IHTMLDocument3> qHTMLDoc3;
    CComPtr<IHTMLElementCollection> qHTMLElemColl;
    hr = phtmlDoc2->QueryInterface<IHTMLDocument3>(&qHTMLDoc3);
    if FAILED(hr) return;
    CComBSTR tagName(CT2OLE(_T("embed")));
    hr = qHTMLDoc3->getElementsByTagName(tagName, &qHTMLElemColl); //得到的返回值应该在qHTMLElemColl中吧??
    long len; qHTMLElemColl->GetLength(&len);
    for(int i = 0; i<len; i++)
    {
       IHTMLElementCollection::toString(BSTR *String)方法中的值是不是相关的swf的url??
    }
    因为现在无法做实验,希望大家帮忙讨论哈谢谢。。
      

  6.   

    还有如果我直接用pDoc2遍历objcet,这种方法得到swf的url是不是很慢,两种方法哪种好些?
      

  7.   

    最快的方法应该是直接查询文档的OLE容器,枚举嵌入的OLE对象,如果是SHOCKWAVEFLASH OBJECT则取src