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:// ";
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);
}
}