我用在窗口(dialog)中嵌入了网页,我想执行网页里面的脚本文件,但是不知道应该怎么做,只知道
IHTMLWindow2 中的execScript可以执行里面的脚本,但是不知道具体的如何去做,请各位指点!

解决方案 »

  1.   

    具体的是我不知道怎么把IHTMLDocument2和网页关联起来,不知道具体的实现方法!
    请各位大侠赐教!
      

  2.   

    LPDISPATCH lpDispatch = m_explorer.GetDocument();
    IHTMLDocument2* pDocument;
    lpDispatch->QueryInterface(IID_IHTMLDocument2, (void**)&pDocument);
    lpDispatch->Release();
    以上是得到IHTMLDocument2指针这是执行脚本,假设CString strjs为脚本内容
     if ( pDocument != NULL  )
     {
        CComQIPtr<IHTMLWindow2>   pHTMLWnd;
        pDocument->get_parentWindow( &pHTMLWnd );    if ( pHTMLWnd != NULL  )
        {
           CComBSTR bstrjs = strjs.AllocSysString();
           CComBSTR bstrlan = SysAllocString(L"javascript");
           VARIANT varRet;
           pHTMLWnd->execScript(bstrjs, bstrlan, &varRet);
        }
     }
     
     
      

  3.   

    各位大侠能否详细的给我讲讲这个IHTMLWindow2接口到底是干什么用的,和一些相关的知识,多谢!我现在还是不明白他们到底是什么样的关系!常言道:受之于鱼,不如授之于渔。
    多谢各位大侠了!
      

  4.   

    就如这里的第一句:LPDISPATCH lpDispatch = m_explorer.GetDocument();
    中的m_explorer变量是干嘛用的?从什么地方得到的,我还是不懂啊!
    望赐教!
      

  5.   

    我想用下面的方法取得pHTMLDoc,可是得到的是pHTMLDoc=0;不知道问题出现在什么地方!
    IHtmlEngine * pHtml;
    IHTMLDocument2*  pHTMLDoc;
    HRESULT hr = pHtml->QueryInterface(IID_IHTMLDocument2,(void**) &pHTMLDoc);
    定义说明:
    IHtmlEngine :public IDispatch
     IDispatch : public IUnknown上面的语句编译可通过,就是在取指针的时候出现的取不到的错误,
    请大家帮助分析一下出错的原因!和解决方法!本人不盛感激!
      

  6.   

    IHtmlEngine不是标准的HTML接口,它应该是你的前辈实现的,你应该仔细的看一下IHtmlEngine提供的接口和方法,看看是不是能获得IHTMLDocument2*指针,如果不能的话,只有改写那个COM对象的代码
      

  7.   

    m_explorer是ActiveX 控件WebBrowser对象自动生成的类对象成员。在对话框资源编辑器右键菜单选择Insert ActiveX Control,选择Microsoft Web浏览器。然后为这个对象生成一个成员变量m_explorer
      

  8.   

    给你个例子看看吧
    多说无益
    http://www.codeguru.com/Cpp/I-N/ieprogram/article.php/c4399/
      

  9.   

    http://blog.csdn.net/jiangsheng/archive/2003/08/15/3793.aspx