创建 VSTO Outlook AddIn 时有一些限制,这有点烦人。例如,如果由于单击邮件链接而启动 Outlook,由于安全原因,不会加载任何插件。
有没有办法覆盖这种行为?也许是不使用 VSTO 创建插件的另一种方法?如果我没记错的话,有一些方法可以通过使用一些不同的技术来创建插件,然后是 VSTO,但是哪一种以及有什么区别?
错误的。Mailto 链接在操作系统范围内使用不同的调用 Outlook 的方法。Mailto 通过操作系统调用直接调用 MAPI 子系统,然后触发 Outlook(因为它将是默认的 MAPI 客户端)。
当您在 Outlook 中使用“新建”按钮时,您正在使用 Outlook OM 代码并且插件已经加载。
这里的关键区别很简单 - Outlook 已经加载。您仍然可以使用 VSTO 来针对这种情况,您只需要确保在启动时加载。如果您仅在消息(“添加”活动检查器)时添加 VSTO 组件,那么对于这种情况来说为时已晚。您确定您的插件设置为在启动时加载吗?
有一些更老、更痛苦的方法来创建插件,但我不相信它们会解决你的问题。我看到并使用的解决方案是检测是否可以获得ActiveExplorer,如果没有,告诉用户正常启动程序。
可以在 Codeplex 上的 Outlook 附件提醒源的源代码中看到执行此操作的示例。
http://www.codeplex.com/OAR/Release/ProjectReleases.aspx?ReleaseId=22094
宏是另一种方式...
Codeplex 的上述内容使用 VSTO。
正如凯文提到的,我们需要弄清楚为什么插件没有加载......在上面的插件中,每次都会创建一个菜单;一个活跃的资源管理器......