使用WebBrowser编辑html文件,保存数据时希望直接保存到某个路径,不弹出对话框。
使用IOleCommandTarget的Exec方法,参数设置为LECMDEXECOPT_DONTPROMPTUSER也不管用,还是弹出另存为的对话框。我又换成利用IPersistFile接口保存文件,但切换成其它文件时需要屏蔽弹出的提示是否保存的对话框,网上多方查找资料无解决方法,请高手支招,谢谢

解决方案 »

  1.   


    直接取Document的内容, 写到文件里面不行吗
      

  2.   

    获得网码源代码:
    CString GetSource(IHTMLDocument2* pDoc2)
    {
     USES_CONVERSION;
     CString strReturn("");
     CComPtr<IHTMLElementCollection> pElemColl;
     HRESULT hr=pDoc2->get_all((IHTMLElementCollection**)&pElemColl);
     if(hr==S_OK)
     {
      CComVariant varIndex=0;
      IDispatch *pDisp=NULL;
      hr=pElemColl->item(varIndex,varIndex,&pDisp);
      if(hr==S_OK)
      {
       CComPtr<IHTMLElement> pElem;
       hr=pDisp->QueryInterface(IID_IHTMLElement,(void**)&pElem); 
       if(hr==S_OK)
       {
        CComBSTR strHTML;
        hr = pElem->get_outerHTML(&strHTML); 
        if(hr==S_OK)
        {
         strReturn=OLE2T(strHTML);
        }
       }
      }
      pDisp->Release(); 
     }
     return strReturn;
    }
    http://blog.csdn.net/lion_wing/archive/2006/06/02/769742.aspx
      

  3.   

    利用IPersistFile接口能够获取html,并存成文件。
    但是当前打开的html内容变了之后,再naviagte其它html文件问出现文档改变是否保存的提示框,能不能想办法屏蔽这个也行
      

  4.   

    保存html文件还是用的IPersistFile接口,
    以前用的方法是调用navigate打开某个文件之后就立刻切换到编辑模式
    现在的做法是调用navigate打开某个文件收到文档完成的事件之后再切换到编辑模式
    大致就是这样