IHTMLDocument2   *spDoc=(IHTMLDocument2 *)m_Web.get_Document();
IPersistFile   *pf   =   NULL;
spDoc->QueryInterface(IID_IPersistFile,   (void   **)&pf);
LPCWSTR   strTempFile   =L"save.htm";
HRESULT hr=pf->Save(strTempFile,FALSE);
pf->Release(); 
if(hr!=S_OK) return; 
保存小于4096字节的网爷是没有问题的  但是如果网页大小大于4096个自己。。那它只会保存4096个字节的内容 ,其余的都没有保存。。请问 这是怎么回事啊。。怎么设置这个的缓冲区?

解决方案 »

  1.   

    使用document.documentElement.outerHTML来获得串,再自己保存不是更容易吗
      

  2.   

    IPersistFile 的Save没有限制的,你的网页是哪里的?换一个网页保存过吗?或者自己处理保存动作,完全按照普通流文件的操作来处理,也便于管理,甚至可以加入自己的一些特殊处理,比如加密。
      

  3.   

    还有个问题就是  怎么判断 网页是否已经加载完成啊
    发现一个网页 怎么响应了好几个NavigateComplete2 完成操作怎么判断全部加载完成呢。。
      

  4.   

    在DocumentComplete中判断,可以直接读取document.readyState或者IWebBrowser2::busy或readyState属性