我建立了一个工程,是DLL动态库,但是没用MFC,也不能用,现在我想用Microsoft Web Browser控件来浏览一个页面,如果非要用MFC,怎么才能加到工程里,谢谢

解决方案 »

  1.   

    可以不需要用,在ATL下也可以使用。在资源中用右键把浏览器对象加入,然后
    LRESULT CEuuTodayDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
    {
    CAxWindow wndIE;
    wndIE = GetDlgItem(IDC_IE);

    HRESULT hr;

    CComQIPtr<IConnectionPointContainer, &IID_IConnectionPointContainer> m_spCPC;

    hr = wndIE.QueryControl ( &m_spWebBrowser );
        if ( m_spWebBrowser )
        {
    CComVariant v;  // empty variant
    ////////////////////

    //为 WebBrowser 事件查赵连接点
    m_spCPC=m_spWebBrowser;

    hr = m_spCPC->FindConnectionPoint(DIID_DWebBrowserEvents2, &m_spCP); 
    if (FAILED(hr))
    MessageBox("Error","Error");
    InternalAddRef();
    // 将我们的事件处理器传递给容器。事件发生时容器将调用我们实现的 
    // IDispatch 接口函数 
    hr = m_spCP->Advise( reinterpret_cast<IDispatch*>(this), &m_dwCookie);
    ////////////////////
    m_spWebBrowser->Navigate ( CComBSTR(str), 
    &v, &v, &v, &v );

    }
    用MFC更简单
      

  2.   

    可以不用MFC,插入浏览器控件会生成CWebBrowser2对象,调用它的Navigate方法就可以了。
      

  3.   

    CoInitialize(NULL);CoCreateInstance(CLSID_WebBrowser,NULL,CLSCTX_INPROC_SERVER,IID_IWebBrowser2,(void**)&m_pWebBrowser2);VARIANT vtFlags;
    vtFlags.vt = VT_I4;
    vtFlags.lVal = 0;
    VARIANT vtTargetFrameName;
    vtTargetFrameName.vt = VT_BSTR;
    vtTargetFrameName.bstrVal = NULL;
    VARIANT vtHeaders = vtTargetFrameName;m_pWebBrowser2->Navigate(m_sUrl, &vtFlags,
    &vtTargetFrameName, 
    NULL, 
    &vtHeaders);
      

  4.   

    如果你只是想简单地浏览一个页面的话,将Window Name参数设置为一个URL就行了。
      

  5.   

    忘了说了,我的意思是,在创建一个普通窗口时,将Window Name字符串设置为一个有效的URL
      

  6.   

    必须实现一个web browser container,即必须实现 IOleClientSite,IOleInPlaceSite,好象还有一个IOleWindow...之类的接口.
    创建webbrowser->SetClientSite(...)->Activate the web browser(Doverb)
      

  7.   

    to roger_ding(海天一色) 你能给个全一点的代码?“可以不用MFC,插入浏览器控件会生成CWebBrowser2对象,调用它的Navigate方法就可以了。”呵呵。。有点不明白。。着急
      

  8.   

    记得网上好像有纯c和c++写的IE Web browser container,search 一下down一个就可以了。
      

  9.   

    http://www.codeguru.com/Cpp/I-N/ieprogram/article.php/c4379
    http://www.codeproject.com/com/cwebpage.asp
    刚学会,哈哈
      

  10.   

    可以的,你用 CoCreateInstance 创建
      

  11.   

    可以直接把WebBrowser控件加进去,然后就可以调用了