如何在程序中实现保存一个网页,相当于ie的另存功能。谢谢指点,如果可以详细点更好,因为本人很菜,有这个需要才想起来这个功能。
不甚感激。

解决方案 »

  1.   

    用webbrowers控件的docmentText属性,不过只能保存页面代码,不能保存里图片
      

  2.   

    可以类似于save as 一样保存其保护的一些图片,代码到文件夹中么?
      

  3.   

    如果用WEBBROESER控件:
    ExecCommandID(SHDocVw.OLECMDID.OLECMDID_SAVEAS);
    -------------------------------------------------------------------------------
    private void ExecCommandID(SHDocVw.OLECMDID _OLECMDID)
    {
    int response=(int)_ActiveWebBrowser.QueryStatusWB(_OLECMDID);
    bool IsOK = (response& (int)SHDocVw.OLECMDF.OLECMDF_ENABLED)!=0?true:false;
    if(IsOK==false){return;}
    Object o=null;
    _ActiveWebBrowser.ExecWB(_OLECMDID, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT,ref o,ref o);
    }
    -----------------------------------------------------------------
    如果只是简单地把IE保存:
    InternetExplorer ie=new InternetExplorer();
    //add code to navigate to your site
    ...
    UCOMIPersistFile f=(UCOMIPersistFile)ie.Document;
    f.Save("c:\\my.htm",true);//when load complete
      

  4.   

    直接复制一下我的代码就行了啊,将_ActiveWebBrowser改成你的webbrowser控件名
      

  5.   

    错误 1 找不到类型或命名空间名称“SHDocVw”(是否缺少 using 指令或程序集引用?)
    谢谢!
      

  6.   

    http://www.codeproject.com/vb/net/MhtBuilder.asp
      

  7.   

    <a href="#" onclick="javascript:WebBrowser.ExecWB(4,1)">保存该页为文件</a>                        <object id="WebBrowser" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
                            </object>
      

  8.   

    lz,你不会引用"SHDocVw"啊
    总会添加webbrowser控吧,
    向你的窗口拖一"Microsoft Web 浏览器"
    然后删除它,在引用中就有了啊
      

  9.   

    控件是添加了,也可以正常使用了,可以在其中浏览相应的网页。
    但是函数有问题,出现缺少引用。
    搞不懂了。不过很谢谢lovevsnet