Here's how to save a web page as a single file (mht format) using Delphi code:
uses CDO_TLB, ADODB_TLB;
...
procedure WB_SaveAs_MHT(WB: TWebBrowser; FileName: TFileName);
var
Msg: IMessage;
Conf: IConfiguration;
Stream: _Stream;
URL : widestring;
begin
if not Assigned(WB.Document) then Exit;
URL := WB.LocationURL;
Msg := CoMessage.Create;
Conf := CoConfiguration.Create;
try
Msg.Configuration := Conf;
Msg.CreateMHTMLBody(URL, cdoSuppressAll, '', '');
Stream := Msg.GetStream;
Stream.SaveToFile(FileName, adSaveCreateOverWrite);
finally
Msg := nil;
Conf := nil;
Stream := nil;
end;
end; (* WB_SaveAs_MHT *)
|
Sample usage:
//first navigate
WebBrowser1.Navigate('http://delphi.about.com');
//then save
WB_SaveAs_MHT(WebBrowser1,'c:\WebBrowser1.mht');
|
Note 1: The _Stream class is defined in ADODB_TLB unit that you probably already have created. The IMessage and IConfiguration interfaces code from cdosys.dll library. CDO stands for Collaboration Data Objects - object libraries designed to enable SMTP Messaging.
The CDO_TLB is an auto generated unit by Delphi. To create it, from the main menu select "Import Type Library", select "C:\WINDOWS\system32\cdosys.dll" then click the "Create unit" button.
分享到:
相关推荐
将网页保存成mht文件的代码mht.zip
这是个批量下载网页, 并将每个网页保存成一个mht文件的工具. mht文件之能用IE打开, 但是好处是一个文件包含了图片,CSS, javascript等等, 很好. 目录下有源码和可执行文件, 使用的话可以直接执行exe文件, 研究的...
将webbrowser(其实不用webbrowser只给一个网址也行)中的内容保存为mht(和浏览器的网页另存为功能一样)文件,同时支持页面全屏截图(就是不管页面多长多宽自动截整个页面)。 默认保存为tif格式(应CSDN一名网友...
这是一个.net开发的源代码,能够自动从互联网上下载网页,并将且保存为MHT格式
在和同学做毕业设计的时候,要能够提供PPT课件的在线播放.要做到这一点并不难,只需将PPT课件转换为网页文件htm或mht文件即可。首先解释下mht文件。
预先设定的保存目录也可在Myie选项的保存页面中设置。 域名完成:在地址栏输入网址时可以用Ctrl+Enter, Shift+Enter, Ctrl+Shift+Enter来帮你完成这个网址。他会为你加上http://www.及相应的后缀如:.com, .net, ...
开源软件,可提取保存下来的html或mht文件中的各种网页图片、代码素材
本软件特色是可以直接把整个网页保存成MHT或JPG格式的文件,独特的收集网页图片模式。 本地导入速度一流,比其它同类的软件都快很多(可以在网上找一个同类软件导入过万条记录比较)。 是一个非常实用的电子书制作...
4、新增“MHT节点”,即节点的内容为一个mht文件。5、改善悬浮按钮功能:允许拖动保存RTF格式文本、图片、网页(支持程度还是稍差)。6、增强监视剪贴板功能:可以监视HTML格式文本和图片。7、数据库版本升级为2.30...
因为我看到通过上面第2步,得到原来的board.conf文件中有一些无用的代码,所以还是用board.default这个备份代码更改用户名和密码保存为.conf,上传回去比较好,个人意见) 6、重启H608B,用你改好后的密码进入...
因为我看到通过上面第2步,得到原来的board.conf文件中有一些无用的代码,所以还是用board.default这个备份代码更改用户名和密码保存为.conf,上传回去比较好,个人意见) 6、重启H608B,用你改好后的密码进入...
因为我看到通过上面第2步,得到原来的board.conf文件中有一些无用的代码,所以还是用board.default这个备份代码更改用户名和密码保存为.conf,上传回去比较好,个人意见) 6、重启H608B,用你改好后的密码进入 ...