从任何外部应用程序启动编辑器窗口时,Outlook插件不会显示

问题描述 投票:0回答:1

就像我立即打开Outlook,然后点击“新电子邮件”,我看到我的插件加载在新电子邮件窗口(这就是插件应该是的位置)。但是,当我在Word / Excel中打开文档并单击文件>>单击并保存>>使用电子邮件发送>>作为附件发送。现在它确实打开了Outlook“新电子邮件窗口”,但我的插件没有加载到侧边栏中。同样,在按照“mailto:[email protected]”之类的链接打开Outlook时

关于如何实现这种行为的任何建议/指针?

编辑:我尝试了一个计时器,间隔大约14秒(仅用于测试)。计时器事件确实执行但我没有得到一个应该是MailItem的检查器。这是代码:

 private void OnTimedEvent(object sender, ElapsedEventArgs e)
        {
            diagnosticLog.Debug("In OnTimed Event!");
            InspectorWrapper wrapper;
            foreach (Outlook.Inspector item in Application.Inspectors)
            {
                diagnosticLog.Debug("In OutlookInspector Loop: " + item.ToString());
                if (item is Outlook.MailItem)
                {
                    diagnosticLog.Debug("Inspector is a MialItem: " + item.ToString());
                    diagnosticLog.Debug("In OnTimed Event!");
                    if (!inspectorWrappersValue.TryGetValue(item, out wrapper))
                    {
                        inspectorWrappersValue.Add(item, new InspectorWrapper(item));
                        diagnosticLog.Debug("new Inspector Added");
                    }
                }
            }
        }

这一行:

 foreach (Outlook.Inspector item in Application.Inspectors)

确实有一个检查员,但它永远不是一个Outlook.MailItem,因此我无法访问我应该添加我的插件的检查器。

inspectorWrappersValue是一个字典,它在InspectorWrapper的构造函数中,我初始化我的Addin UI。

 inspectorWrappersValue.Add(item, new InspectorWrapper(item));

此检查员正在由Excel打开(发送附件)

c# outlook outlook-addin
1个回答
1
投票

您何时/何时添加自己的UI?请记住,如果使用简单MAPI或mailto链接打开检查器,则不会触发Inspectors.NewInspector事件。

© www.soinside.com 2019 - 2024. All rights reserved.