我使用Microsoft.Office.Interop.Outlook生成一条消息并为用户打开它。当用户在Outlook中发送消息时,我想捕获此事件。不像在这个SO中所讨论的那样:
capture the Outlook 2013 Send event
我捕获所有已发送的电子邮件,不仅生成了。
public static MailItem CreateMail()
{
Application outlook = new Application();
MailItem mailItem = outlook.CreateItem(OlItemType.olMailItem);
// set recipients, body, ect..
mailItem.Send += MailItemSendedHandler;
Inspector inspector = mailItem.GetInspector;
inspector.Activate();
return mailItem;
}
static void MailItemSendedHandler(ref bool isSended)
{
}
MailItem具有Send()
方法和Send
事件。当我订阅时,我得到错误:
无法分配到“发送”,因为它是方法组。
如何捕获MailItem的Send
事件?
答案 0 :(得分:0)
MailItem
是一个继承自接口_MailItem
和ItemEvents_10_Event
的接口。他们都有Send
。 (在_MailItem中它是一个方法,在ItemEvents_10_Events中它是一个事件)。我认为我们存在冲突,需要明确定义我们想要使用的Send
。
((ItemEvents_10_Event)mailItem).Send += new ItemEvents_10_SendEventHandler(MailItemSendedHandler);
static void MailItemSendedHandler(ref bool isSended)
{
}