首页 文章

使用 SaveAs 将 MailItem 另存为 msg 会导致 Outlook 滞后

提问于
浏览
0

我正在编写 VSTO Outlook add-in,它需要将某些项目另存为 msg 文件。问题是,每次我调用 MailItem.SaveAs 都会导致 Outlook 稍微滞后并显示正在处理的光标(蓝色圆圈)。我试图将它移动到一个单独的线程中,但这无济于事。保存项目的速度非常快(大多数时间少于 100 毫秒),但仍会导致这种烦人的行为。我需要保存一个项目以将其读取为 MSG 格式,因此,如果我可以直接执行此操作,那就更好了,但是正如我在这里找到的:Outlook MailItem 作为流唯一的解决方案似乎是为此使用 EWS。还有其他选择吗?

在这种情况下,也许使用 RDO 可以有所帮助?据我了解,另一种选择是从邮件项目属性手动创建味精。但是也许有更简单的方法?

1 回答

  • 2

    与 OOM 不同,Outlook 所基于的低级 API(扩展 MAPI)支持多线程。因此,您可以在辅助线程上运行代码,而不会对 Outlook UI 产生任何可见影响。有关更多信息,请参见INFO:将消息保存到 MSG 复合文件

    另外,您也可以考虑在扩展 MAPI 周围使用 third-party 包装器,例如“兑换”。

相关问题