保存页面为MHT的代码
2006-02-04 13:59:50 来源:WEB开发网核心提示: 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
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.
更多精彩
赞助商链接