如何检测其他展望事件,例如"转发为附件","回复会议"

时间:2017-06-10 17:00:59

标签: c# vsto outlook-addin

开箱即用的展望提供以下内容:

((Outlook.ItemEvents_10_Event)this._mailItem).Reply += new Outlook.ItemEvents_10_ReplyEventHandler(MailItem_Reply);
((Outlook.ItemEvents_10_Event)this._mailItem).ReplyAll += new Outlook.ItemEvents_10_ReplyAllEventHandler(MailItem_ReplyAll);
((Outlook.ItemEvents_10_Event)this._mailItem).CustomAction += new Outlook.ItemEvents_10_CustomActionEventHandler(MailItem_CustomAction);
((Outlook.ItemEvents_10_Event)this._mailItem).Forward += new Outlook.ItemEvents_10_ForwardEventHandler(MailItem_Forward);

但是,有没有办法检测其他事件,例如:

  • 回复会议
  • 转发为附件

2 个答案:

答案 0 :(得分:0)

这些操作没有特定事件,但标准的“回复”和“转发”事件仍会触发。您还可以通过检查新创建的项目中的项目类型或附件来告知他们单击了这些按钮。

答案 1 :(得分:0)

OOM将ForwardAsAttachment公开为具有0x0000F618的dispid的事件,它只是类型库不公开它。 “回复会议”是0x0000F5FD

您可以使用原始COM使用IConnectionPointContainer / IConnectionPoint挂钩这些事件 - 您可以在OutlookSpy中看到触发的事件:选择一个项目,单击OutlookSpy工具栏上的项目按钮,然后转到在“事件”选项卡中,单击“转发为附件”,在“项目”窗口底部的“事件日志”列表中查看记录的事件。