来自WPF的任何版本的Outlook

时间:2015-12-10 14:31:40

标签: c# .net wpf outlook

我有一个WPF应用程序,其功能是在用户计算机上打开Outlook应用程序。用户可以在其计算机上安装任何版本的Outlook。有没有办法实现同样的目标?

oA = new Microsoft.Office.Interop.Outlook.Application();

Microsoft.Office.Interop.Outlook.NameSpace ol = oA.GetNamespace("MAPI");
Microsoft.Office.Interop.Outlook.MAPIFolder eF = ol.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
Microsoft.Office.Interop.Outlook.MailItem oM = (Microsoft.Office.Interop.Outlook.MailItem)oA.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);

int iAttachType = (int)Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue;
oM.Attachments.Add(file, iAttachType, 1, "Att");

oM.Subject = "Capacity Information List";
oM.Display();

2 个答案:

答案 0 :(得分:1)

不确定您是否打算与Outlook进行交互,但如果您只是尝试打开Outlook,这应该会有效:

Process.Start(@"outlook.exe");

答案 1 :(得分:1)

当然,将Outlook添加到Visual Studio中的项目引用(COM选项卡)。 这样的事情应该适用于:

using Microsoft.Office.Interop.Outlook;
...
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.MailItem msg = app.CreateItem(0);
msg.Subject = "test";
msg.Display(false):