首页 > 解决方案 > 如何检测用户何时在 Outlook VSTO 中选择 NEW 或 OPEN 邮件

问题描述

我正在 Outlook 2016 中编写 VSTO,我想根据用户的“开始新消息”操作或仅打开/阅读消息来启用/禁用功能区中的按钮。

我的问题是如何检测用户何时按下新邮件或仅打开发送/接收的一条消息。

有人可以帮我吗?谢谢!

标签: vstooutlook-addin

解决方案


本教程实际上处理了这个确切的场景:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        inspectors = this.Application.Inspectors;
        inspectors.NewInspector +=
        new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
    }

具体来说,您附加到this.Appliaction.Inspectors. 本教程借此机会修改 new 的SubjectBody属性MailItem

void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
        {
            Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
            if (mailItem != null)
            {
                if (mailItem.EntryID == null)
                {
                    mailItem.Subject = "This text was added by using code";
                    mailItem.Body = "This text was added by using code";
                }

            }
        }

推荐阅读