日期:2014-05-18  浏览次数:21380 次

C# 保存网一个网页为mht文件的问题?
现在想根据一个URL保存成mht文件,但是用下面代码保存有些网页报错?
 
C# code
CDO.Message msg = new CDO.MessageClass();
            CDO.Configuration c = new CDO.ConfigurationClass();
            msg.Configuration = c;
            msg.CreateMHTMLBody("http://www.yesky.com", CDO.CdoMHTMLFlags.cdoSuppressNone, "", "");
            ADODB.Stream stream = msg.GetStream();
            stream.SaveToFile(@"d:\1.mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite);  

  错误为: 未注册接口(ComException)
  或者能找到下载并保存为mht方件的好方法?

------解决方案--------------------
顶下,mht是什么文件啊???如果仅仅是后缀名而没有特定格式的话,哪么用System.IO.StreamWriter应该就可以了吧。。
------解决方案--------------------
先引用...system32/cdosys.dll

C# code
CDO.Message msg = new CDO.MessageClass();
CDO.Configuration c = new CDO.ConfigurationClass();
msg.Configuration = c;
msg.CreateMHTMLBody(
    "http://www.yesky.com", CdoMHTMLFlags.cdoSuppressAll, "", "");
msg.GetStream().SaveToFile(@"d:\1.mht", 
    ADODB.SaveOptionsEnum.adSaveCreateOverWrite);

------解决方案--------------------
zswang 正解 
CDO.CdoMHTMLFlags.cdoSuppressAll
------解决方案--------------------
顶2楼
------解决方案--------------------
收了
------解决方案--------------------
好东西,收藏,顺便顶一下。
------解决方案--------------------
并非每个网页保存都报错,只有一些(大部份报错)
---------------------------------------
晕了。