如何在不打开多个outlook窗口的情况下在Outlook中打开.msg文件

问题描述:

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

我试过Process.Start,但它打开了多个Outlook窗口,这不是我所期望的行为。

.msg文件托管在SharePoint站点上,我具有该文件的直接URL。

+0

你的意思是:http://www.codeproject.com/Articles/32899/Reading-an-Outlook-MSG-File-in-C? – Raptor 2015-02-23 04:24:31

+0

nope。我仍然希望在Outlook BUT中打开一个.msg文件,而无需打开多个Outlook窗口。 – user1166085 2015-02-23 04:37:52

+0

不可以。我仍然希望在Outlook中打开.msg文件,但不打开多个Outlook窗口。通过使用process.start()我能够打开多个.msg,但也同时打开多个Outlook窗口。 – user1166085 2015-02-23 04:39:14

我试过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

+0

对于mailitem.display(),似乎只有1.msg可以打开,直到它被用户关闭时,winform在打开.msg文件时没有响应。这是正常的行为? – user1166085 2015-02-24 02:19:12

+0

很可能你会真正接受这种方法。您需要显示一个非模态窗口,而不是传递false。 – 2015-02-24 07:23:33