MAPI调用没有阻止应用程序

时间:2016-09-07 12:19:06

标签: c# multithreading mapi

我的应用程序是通过MAPI调用发送电子邮件:

[DllImport("MAPI32.DLL")]
static extern int MAPISendMail(IntPtr sess, IntPtr hwnd, MapiMessage message, int flg, int rsv);

以及其他地方:

m_lastError = MAPISendMail(new IntPtr(0), new IntPtr(0), msg, how, 0);

除了一个问题之外,这很有效:Outlook窗口将完全阻止应用程序 这似乎是预期的行为,但我不希望它以这种方式表现。有什么想法吗?

我尝试从后台线程调用MAPI,但似乎不可能。

1 个答案:

答案 0 :(得分:2)

这就是简单MAPI的工作方式 - 改为使用OOM(Application.CreateItem / MailItem.Display(false))。