【问题标题】:how do i open .msg file in outlook from a winform application without opening multiple outlook windows如何在不打开多个 Outlook 窗口的情况下从 winform 应用程序在 Outlook 中打开 .msg 文件
【发布时间】:2015-02-23 04:23:15
【问题描述】:

我需要一些建议来帮助我实现一项功能,以便在不打开多个 Outlook 窗口的情况下从 winform 应用程序在 Outlook 中打开多个 .msg 文件。

我尝试了 Process.Start,但它打开了多个 Outlook 窗口,这不是我正在查看的所需行为。

.msg 文件托管在一个共享点站点上,我有该文件的直接 url。

【问题讨论】:

  • 不。我仍然想在 Outlook 中打开一个 .msg 文件,但不打开多个 Outlook 窗口。
  • 不。我仍然想在 Outlook 中打开 .msg 文件,但不打开多个 Outlook 窗口。通过使用 process.start() 我可以打开多个 .msg,但也可以同时打开多个 Outlook 窗口。
  • “打开”如“向用户展示”?还是如“从 MSG 文件中读取各种属性”?
  • 向用户展示。就像从桌面双击 .msg 文件一样

标签: c# winforms outlook


【解决方案1】:

我尝试了 Process.Start,但它打开了多个 Outlook 窗口,这不是我正在查看的所需行为。

只能同时运行一个 Outlook 实例。打开多个 .msg 文件时看到的是检查器窗口。如果您尝试手动打开文件,我想您会得到相同的图片。

向用户展示。就像从桌面双击 .msg 文件一样

使用 Process.Start 方法传递消息文件的路径。无需指定 Outlook.exe。

最后,作为一种解决方法,您可以考虑在本地下载项目,然后使用 Outlook 对象模型从磁盘打开文件。 Application 类的CreateItemFromTemplate 方法从 Outlook 模板 (.oft) 或消息文件 (.msg) 创建一个新的 Microsoft Outlook 项目并返回新项目。请参阅How To: Create a new Outlook message based on a template 了解更多信息。

【讨论】:

  • 对于 mailitem.display(),在用户关闭之前似乎只能打开 1 个 .msg,打开 .msg 文件时 winform 无响应。这是正常行为吗?
  • 很可能您将 true 传递给该方法。您需要显示一个非模态窗口而不是传递 false。
猜你喜欢
  • 1970-01-01
  • 2016-11-19
  • 2013-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
相关资源
最近更新 更多