创造 *。 Mht 文件(网络存档)

2024-01-02

使用以下函数表示从本地 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(文件名,CdoSuppressNone,'','');只要基本过程完成,该文件就会被锁定。但是,处理后应删除该文件。

知道问题是什么吗?


CreateMHTMLBody 需要 URL,因此对于本地文件,请确保前面带有file:///


CreateMHTMLBody(const URL: WideString; Flags: CdoMHTMLFlags; 
                          const UserName: WideString; const Password: WideString); safecall;
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创造 *。 Mht 文件(网络存档) 的相关文章

  • Delphi:设置 TByteDynArray 长度的问题

    问题已结束 答案已接受 替换为Delphi 7 访问冲突 TByteDynArray 问题 https stackoverflow com questions 3157732 delphi 7 access violation tbyted
  • Delphi预定义环境变量

    谁能告诉我在哪里可以找到 RAD Studio 中可用的 伪 环境变量列表 例如 Platform Config 等 具体来说 我想要一个能够为我提供 RTL 版本的版本 以便我可以将编译单元 dcu 放入正确的目录中 即 XE为D15 X
  • 可以解析Delphi XMLDoc格式并构建在线帮助的工具

    API 文档的 XMLDoc 工具解释如下 http edn embarcadero com article 32770 http edn embarcadero com article 32770 是否有任何免费或商业工具可用于创建基于
  • Delphi 2009之前如何处理UTF-8和ANSI转换?

    在 Delphi 2009 中 我们有 RichEdit1 Lines LoadFromFile OpenDialog1 FileName TEncoding UTF8 RichEdit1 Lines SaveToFile OpenDial
  • 将 TPopupMenu 与窗体的右侧对齐?

    TPopupMenu 如何与窗体的右侧对齐 问题是 在调用之前似乎没有办法获取弹出菜单的宽度Popup X Y Integer 我正在尝试获得与 Chrome 中的系统菜单类似的行为 你也可以只设置Alignment http docwik
  • Firemonkey 移动应用程序和远程 MySQL

    我正在使用 Delphi XE5 并且我已经创建了基本的 Firemonkey 移动应用程序 Delphi 我想连接到远程 MySQL 数据库 我应该使用哪一个数据库管道 FireDAC DBExpress 等 您可以使用标准 TSQLQu
  • 开发 Delphi Windows 7 应用程序的规则 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以找到开发适用于 Windows 7 的 Delphi 应用程序时应遵循的最佳规则集 Marco 最近发表了 2 篇关于此主题的帖
  • ClientDataset 索引更改时不计算 TAggregateField

    我正在使用连接到 DBGrid 的 TClientDataset 和几个聚合字段 用于计算其他几个浮点字段的总和 所有字段均已在设计时创建 一切都按预期工作 直到 ClientDataset 的 IndexName 使用自定义索引更改 以便
  • Delphi LZMA减压样本

    我发现在this https stackoverflow com questions 4344976 lzma or 7zip in delphi的线程链接delphi压缩包 https github com ccy delphi zip具
  • TEdit onclick 全选?

    每当用户单击 TEdit1 或单击选择其中的某些文本时 如何选择 TEdit1 的所有文本 执行超出默认行为的任何操作都可能非常危险TEdit控制 您的用户知道标准 Windows 控件的行为方式 任何偏离此的行为都可能导致混乱 默认情况下
  • 作为属性的类引用

    谷歌对于这类搜索毫无用处 因为你会得到数亿个结果 其中没有一个与特定问题相关 问题很简单 Delphi 中是否可以有类引用属性 如果是这样 怎么办 这是我尝试过的 type TMyObject class end TMyObjectClas
  • Firemonkey - 更新视觉组件

    我们从版本 1 开始就使用 Firemonkey 但仍然发现更新当前在屏幕上可见的组件很困难 在 Firemonkey 中请求重画的 方式 有很多 也许太多了 应用样式 ApplyStyle 事件 主要是当它在屏幕上可见时 请求 repai
  • delphi中生成随机数

    我想在delphi中创建一个随机数并将其分配给文件作为文件名 我设法做到了这一点 但是当我单击按钮生成数字时 它总是以 0 开头 知道如何修复它 procedure TForm1 Button1Click Sender TObject va
  • 为什么Delphi打开时间越长编译速度就越慢,我该怎么办?

    我的公司十多年来一直在德尔福上运行一个大型项目 我们的代码库多年来一直在增长 目前代码数量约为 400 万行 编译速度正在成为一个问题 我们花了时间清除单元循环引用 编译缓慢的已知原因 并检查了设置的各个方面 已经到了我们无法通过我们所能控
  • 如何修复 Delphi Prism ASP.NET 错误:“解析器错误消息:‘Oxygene’不是受支持的语言”

    我在 Delphi Prism 中编写了一个 ASP NET Web 应用程序 不是网站 在我的开发机器上一切正常 但是当我将其安装在测试服务器上时 出现以下错误 Server Error in MyApp Application Pars
  • 在主表单之前显示登录表单

    我在表单之间导航时遇到问题 我使用 Delphi XE5 创建了一个 Android Firemonkey 移动应用程序 我目前有一个登录表单和主表单 现在我想要有关如何处理登录表单以显示在主表单之前的建议 在 项目选项 中的表单下 选择要
  • 使用 GdiPlus 卸载 DLL 时程序挂起

    我有一个加载 DLL 的应用程序 它使用德尔福 GDI 库 http sourceforge net projects delphigdiplus 该应用程序在卸载 DLL 时挂起 调用免费图书馆 https msdn microsoft
  • Indy FTP 传输类型

    我正在使用 IdFTP Indy 10 组件从远程位置下载一些文件 zip 和 txt 在获取每个文件之前 我将 TransferType 设置为二进制 IdFTP TransferType ftBinary IdFTP Get ASour
  • 在 Outlook 中创建带有附件的邮件并显示它

    我想在 Outlook 中创建一封带有附件的邮件并在发送之前显示它 但我想我已经尝试了几乎在网上找到的所有示例 但没有任何运气 我可以使用 Indy 但我非常想使用 Outlook 来确保邮件正确 因为它是用于商业用途 函数的任何输入 该函
  • 如何使用用户输入来寻址 Pascal 中的特定变量(Eval/Exec?)

    我正在尝试在分形程序中做一些非常具体的事情隆起7X http apophysis 7x org 使用的脚本语言是Pascal 该项目是用德尔福写的 https svn code sf net p apophysis7x svn trunk

随机推荐

  • 限制直接 url 下载图像

    我不久前问过这个问题并得到了我认为可行的答案 但我仍然遇到问题 也许这是我做错的事 但我仍然没有这个权利 我想限制对整个目录的访问 该目录中包含图像和 pdf 文件 我需要创建 pdf 文档的链接并将图像嵌入到锚标记中 有人告诉我为此使用标
  • 将多个属性元数据添加到工作流活动中的依赖属性

    我正在 Windows 工作流中构建许多自定义活动 我需要添加一个 DependencyProperty 它可以list该属性的多个值 用户可以在使用活动时选择这些值 例如对或错 我知道如何使用 PropertyMetadata 简单地传递
  • 使用 JavaScript 循环遍历日期范围

    给定两个Date 对象 其中一个小于另一个 我如何在日期之间每天循环 for loopDate startDate loopDate lt endDate loopDate 1 这种循环会起作用吗 但是如何向循环计数器添加一天呢 Thank
  • ngOnInit 中未定义角度异步输入?

    我有一个父组件通过 API 将数据传递给子组件 如下所示 ts private loadData this data this apiService getData html
  • 在 Scala 中实现多级 Java 接口

    我有以下层次结构java for my interface public interface Identifiable
  • 在 ng-click 上调用超出范围的 javascript 函数

    我有一个 javascript 库 其中包含许多有用的函数 我在网站上使用它们来执行各种操作 我知道我无法通过 ng click 访问这些函数 因为这些函数超出了范围 有没有一种方法可以访问它们 而无需声明仅调用库中函数的作用域函数 Her
  • 如何从合并中排除文件?

    我刚刚开始了解 git 目前正在考虑合并 假设我有一个主分支 并创建一个名为子分支的分支 我在子分支上工作并更改了一些文件 现在我想将这个子分支合并到主分支中 git merge child 然而 子分支中有一些文件 也在主分支中 我不想合
  • swig、python 和 wchar_t 问题

    我是 Python C 绑定 swig 的新手 并且已经尝试解决这个问题有一段时间了 我有一个外部 C 库 Example c 我想从 Python 调用它 我阅读了 Swig 教程并能够立即生成包装器 现在的问题是 当我调用 API 时
  • 如何在最新版本的phonegap 2.9.1中找到cordova.jar?

    我下载了最新版本的phonegap 2 9 1 zip 文件 但它不包含 cordova jar 当我在 google 上搜索时 我得到了答案 例如将文件夹导航到 lib android framework 目录和 fire 命令 andr
  • 使用 iPhone X 的自动调整大小蒙版迁移项目

    我们有一些遗留项目仍在使用自动调整大小遮罩 在 iOS 11 和 iPhone X 之前一切都工作正常 随着安全区域布局指南的引入 支持 iPhone X 的最佳解决方案是什么 我们可以将所有带有自动调整大小蒙版的界面转换为使用自动布局 考
  • Jinja 在 HTML 中渲染文本并保留换行符

    我有一个像这样的简单表格 class RecordForm Form notes TextAreaField Notes 我将数据记录为三段 如下所示 para1 para2 para3 在模板中 我想以只读方式查看该记录的内容 不可编辑的
  • 强制 Tampermonkey 延迟运行/执行脚本

    如何强制 Tampermonkey 在 AJAX 加载每个文档后运行 执行脚本 我希望访问脚本中的这些元素并更改它们 但是 尽管我设定了 run at to document end在设置页面中 它在文档未完全加载时执行 而且 它发生在这个
  • 如何解决 Android Studio 中的意外顶级异常

    我有两个项目共享相同的aidl 文件 在第一个项目中 构建在 Eclipse 和 Android Studio 中运行完成 在第二个项目中 构建在 Eclipse 中运行完成 但在 Android Studio 中我看到 Error Tra
  • 如何在水晶报表中编辑现有查询

    我只能在 数据库 gt 显示 SQL 查询 中看到 SQL 查询 如何在水晶报表中编辑它 您正在寻找Edit Command在数据库专家中 请参见下面的屏幕截图
  • 从 Visual Basic 6 中的所有对象上移除焦点

    是否有一种方法可以让用户单击表单本身 并在此过程中从当前拥有它的任何对象 文本框 组合框等 中删除焦点 基本上 焦点可以同时从所有事物上移开吗 将焦点设置到表单本身不起作用 我想过做旧的 将占位符按钮隐藏在另一个对象后面 的技巧 但我真的不
  • Rails:单击下拉选项时提交(通过 AJAX)

    当选择下拉框的选项时 自动提交 AJAX 表单的最简单 最优雅的方法是什么 我正在创建一个管理页面 管理员可以在其中修改用户权限 其中 权限 存储为整数 并且我希望 权限 字段成为一个下拉框 当管理员单击他希望用户拥有的选项 这是我目前正在
  • 不引人注目的日期时间? MVC4 中的验证

    我将 MVC3 解决方案升级到 MVC4 迁移后 验证器被破坏 如果我选择德语作为语言 我的输入日期是 2013年3月20日 我在 MVC4 中收到验证错误 但在 MVC3 中却没有 如果我将格式从 20 03 2013 替换为 20 03
  • 从深度缓冲区和任意视图投影矩阵重建世界坐标

    我正在尝试根据延迟渲染器中的深度值重建 3D 世界坐标 但我遇到了麻烦 我在网上找到的大多数示例都假设标准透视变换 但我不想做出这种假设 在我的几何传递顶点着色器中 我使用以下方法计算 gl Position gl Position wvp
  • 关于application.properties文件和环境变量

    当我将路径配置如下时 Java 成功识别了 application properties 文件中的路径 pathToInputFile kcs data incoming ready pathToInputFileProcess kcs d
  • 创造 *。 Mht 文件(网络存档)

    使用以下函数表示从本地 html 文件生成 Web 存档 function TLessonConstructor2 CreateMHT const FileName string boolean var oMSG IMessage oCon