C#代码实现把网页文件保存为mht文件

MHT叫“web单一文件”。顾名思义,就是把网页中包含得图片,CSS文件以及HTML文件全部放到一个MHT文件里面。而且浏览器可以直接读取得。

       由于项目需要,需实现把指定的网页文件保存为mht文件。于是到网上搜索了相关的资料。找到了一份代码。测试后通过。

       现将实现过程记录如下:

 

       Step 1:项目引用文件: 安装目录/System32/cdosys.dll(c:/windows/System32/cdosys.dll),这样,将增加两个命名空间:ADODB, CDO。

       Step 2:放一个按钮button1,在其Click事件中加如下代码:

       

  1.         private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             string url = "http:// www.qq.com";
  4.             try
  5.             {
  6.                 CDO.IMessage msg = new CDO.MessageClass();
  7.                 CDO.Configuration c = new CDO.Configuration();
  8.                 msg.Configuration = c;
  9.                 // 第一参数为url,第二参数为支持格式,第三参数为用户ID,第四参数为用户密码
  10.                 msg.CreateMHTMLBody(url, CDO.CdoMHTMLFlags.cdoSuppressAll, "", "");
  11.                 msg.GetStream().SaveToFile(@"d:/1.mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
  12.                 MessageBox.Show("Save OK!!!");
  13.             }
  14.             catch (Exception ex)
  15.             {
  16.                 MessageBox.Show("Error:" + ex.Message);
  17.             }
  18.         }
posted @ 2018-08-31 17:25  左正  阅读(1217)  评论(0编辑  收藏  举报