windows 我如何分离内联图像和附加使用的是?

llew8vvj  于 2023-11-21  发布在  Windows
关注(0)|答案(3)|浏览(151)

我的程序使用Excel来处理Exchange邮箱。问题是,如果用户打开Outlook,添加一个文件作为附件,同时打开Paint,选择一个区域,将其复制到剪贴板并粘贴到邮件正文中,则生成的邮件将显示两个附件。
更具体地说,程序调用IMAPIMessage::GetAttachmentsTable()来检索附件表,该表包含两个对象。有没有一种方法可以让程序判断“附件”是附件还是内联内容的一部分?

8dtrkrch

8dtrkrch1#

您需要检查HTML主体(通过img标记)是否引用附件,通过img:cid和PT_ATTACH_CONENTS_ID属性,或者通过文件名(PR_ATTACH_LONG_FILENAME)或contnet位置(PR_ATTACH_COMTENT_LOCATION)。

vsikbqxv

vsikbqxv2#

一个更好的选择是查找PR_ATTACHMENT_HIDDEN。如果它被设置,那么它是一个内联图像,在查看电子邮件时不会显示为常规附件。

svgewumm

svgewumm3#

您正在查找的属性是PR_RENDERING_POSITION(0x 370 B 0003)。-1表示附件是“普通”附件,不是内联附件。如果该值不是-1,则表示内联附件,该值是附件在正文中应呈现的位置。
下面是MSDN page描述它。
编辑:
德米特里,我不同意你的评论。我有HTML电子邮件与行内附件和PR_RENDERING_POSITION是工作中所描述的MSDN页面我张贴。

相关问题