保存页面为MHT的代码

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航