加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 创建*. Mht文件(网络档案)

发布时间:2020-12-15 09:14:44 所属栏目:大数据 来源:网络整理
导读:使用以下函数表示从本地html文件生成Web归档 function TLessonConstructor2.CreateMHT( const FileName : string):boolean ; var oMSG:IMessage; oConfig: IConfiguration; sFileName: string; Stream: _Stream;begin //CoInitializeEx(nil,COINIT_APARTMENT
使用以下函数表示从本地html文件生成Web归档

function TLessonConstructor2.CreateMHT( const FileName : string):boolean ;
 var
  oMSG:IMessage;
  oConfig: IConfiguration;
  sFileName: string;
  Stream: _Stream;
begin
  //CoInitializeEx(nil,COINIT_APARTMENTTHREADED);
  //CoInitialize(nil);
  try
    Result  := false;
    sFileName := ChangeFileExt(FileName,'.mht');
    DeleteFile(PAnsiChar(sFileName));
    try
    oConfig := CoConfiguration.Create();
    oMSG    := CoMessage.Create();
    oMSG.Configuration := oConfig;
    oMSG.CreateMHTMLBody(FileName,CdoSuppressNone,'','');
    Stream:=oMSG.GetStream;
    Stream.SaveToFile(sFileName,adSaveCreateOverWrite);
    Stream.Cancel;
    Stream.Close;
    Result := True;
    except
      on E: Exception do
      begin
       Result  := false;
       MessageDlg(E.Message,mtError,[mbOK],0);
      end;
    end;
  finally
  //  CoUnInitialize;
    Stream:=nil;
    oConfig:=nil;
    oMSG:=nil;
  end;
end;

FileName – html的完整路径.

执行oMSG.CreateMHTMLBody(FileName,”,”)之后;只要基本过程完成,该文件就会被锁定.但是,处理后应删除此文件.

知道问题是什么吗?

解决方法

CreateMHTMLBody需要URL,因此对于本地文件,请确保以file:///开头

CreateMHTMLBody(const URL: WideString; Flags: CdoMHTMLFlags; 
                          const UserName: WideString; const Password: WideString); safecall;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读