【发布时间】:2015-06-06 07:31:50
【问题描述】:
对于桌面应用程序,如果我执行以下代码行来打开一封电子邮件,然后获取相关的 MailItem,一切正常:
string file = @"C:\TestEML\EmlMail.eml";
System.Diagnostics.Process.Start(file);
Outlook.Application oApp = (Outlook.Application)Marshal.GetActiveObject("Outlook.Application");
Outlook.MailItem oItem = (Outlook.MailItem)oApp.ActiveInspector().CurrentItem; // now oItem is the COM object that represents our .eml file
但是如果是 Windows 服务呢?前面的代码不起作用,因为 oApp.ActiveInspector() 返回 NULL...没有打开窗口(检查器)。
所以问题是:如何将 MailItem 实例链接到 Windows 服务中当前打开的电子邮件?
【问题讨论】: