本帖最后由 csdd1105 于 2014-04-24 21:27:46 编辑

解决方案 »

  1.   

    在对话框里实现的IOleClientSiteBOOL CMyDLDlg::CreateControlSite(COleControlContainer* pContainer,   COleControlSite** ppSite, UINT nID, REFCLSID clsid)
    {
    if(ppSite == NULL)
    {
    ASSERT(FALSE);
    return FALSE;
    } CCustomControlSite *pBrowserSite = new CCustomControlSite (pContainer);//
    if (!pBrowserSite)
    {
    return FALSE;
    } *ppSite = pBrowserSite;
    return TRUE;
    }
    然后在类 CCustomControlSite 里拦截到:STDMETHODIMP CCustomControlSite::XServiceProvider::QueryService(REFGUID guidService, REFIID riid, void **ppvObject)
    {
    ...
    if (guidService == SID_SDownloadManager &&   riid== IID_IDownloadManager)   
    {
    ...//在这里拦截到下载
    }
    }谢谢蒋大哥继续指导
      

  2.   

    你的QueryService有被调用吗?看看IServiceProvider的实现