可视化修改当前电子邮件项目

Modifying current email item visually

我想问一下是否有可能只在视觉上修改当前选中的项目的发件人。我只想可视化发件人电子邮件旁边的文本。

我正在应用图像来可视化我想要实现的目标

到目前为止我尝试的是使用 ActiveInspector 并修改当前项目的 Sender.Address 值。

    public static void test(MailItem item)
    {
        var currItem = item.GetInspector.CurrentItem;

        if(currItem == Microsoft.Office.Interop.Outlook.OlObjectClass.olMail)
        {
            currItem.Sender.Address += "test";
        }
    }

有什么想法吗?我已经看到 currentItem 是 System.__ComObject.

在不更改 Outlook 项目的基础属性的情况下自定义发件人信息的方法并不简单。

您可以尝试使用 Windows API 函数对 Outlook windows 进行子类化,并在内置表单之上注入您自己的表单。有关详细信息,请参阅 SetWindowsHookEx,它将应用程序定义的挂钩过程安装到挂钩链中。您将安装一个挂钩过程来监视系统的某些类型的事件。这些事件与特定线程或与调用线程位于同一桌面的所有线程相关联。

您也可以考虑使用替换所有表单区域布局。替换窗体区域是替换标准窗体默认页面的页面,替换所有窗体区域替换标准 Outlook 窗体中的所有页面。

作为最后的手段,您可以考虑使用 Add-in Express layouts,您可以在其中隐藏发件人的窗格并显示您自己的窗格。