C#代码实现把网页文件保存为mht文件
MHT叫“web单一文件”。顾名思义,就是把网页中包含得图片,CSS文件以及HTML文件全部放到一个MHT文件里面。而且浏览器可以直接读取得。
由于项目需要,需实现把指定的网页文件保存为mht文件。于是到网上搜索了相关的资料。找到了一份代码。测试后通过。
现将实现过程记录如下:
Step 1:项目引用文件: 安装目录/System32/cdosys.dll(c:/windows/System32/cdosys.dll),这样,将增加两个命名空间:ADODB, CDO。
Step 2:放一个按钮button1,在其Click事件中加如下代码:
- private void button1_Click(object sender, EventArgs e)
- {
- string url = "http:// www.qq.com";
- try
- {
- CDO.IMessage msg = new CDO.MessageClass();
- CDO.Configuration c = new CDO.Configuration();
- msg.Configuration = c;
- // 第一参数为url,第二参数为支持格式,第三参数为用户ID,第四参数为用户密码
- msg.CreateMHTMLBody(url, CDO.CdoMHTMLFlags.cdoSuppressAll, "", "");
- msg.GetStream().SaveToFile(@"d:/1.mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
- MessageBox.Show("Save OK!!!");
- }
- catch (Exception ex)
- {
- MessageBox.Show("Error:" + ex.Message);
- }
- }