我用c#开发了一个Outlook插件。
我想完全避免因为放慢Outlook启动速度而受到惩罚。
因此,我想创建一个"加载器"加载项。它是用c++/Delphi编写的,除了在加载后启用c#插件之外什么都不做。
有很多关于stackoverflow等的提示,但是没有直接的文档。
问题:
- 是否有关于如何使用c++/Delphi编写Outlook插件的直接文档?
- 是否有关于如何编写启用辅助外接程序的外接程序的文档?
当然-只需实现一个可创建的COM对象(除了IUnknown
)也公开_IDTExtensibility2
接口-参见https://learn.microsoft.com/en-us/dotnet/api/extensibility.idtextensibility2?view=visualstudiosdk-2019。您还需要将它的类名添加到HKEY_CURRENT_USERSOFTWAREMicrosoftOfficeOutlookAddins
。
如果您想支持功能区或任务窗格,您还需要实现IRibbonExtensibility
和/或ICustomTaskPaneConsumer
接口。
没有关于如何使用c++/Delphi编写Outlook插件的直接文档,因为Outlook插件有两种模型
- VSTO (old)是为。net Framework和c#设计的。通过COM (Microsoft.Office.Interop.*)工作。
- 插件是为TypeScript (outlook web插件)设计的。
关于加载VSTO插件的更多信息,您可以阅读VSTO插件的架构
因此,通过c++编写VSTO的托管dll没有简单的方法。有一个正确的方法是阅读有关VSTO架构的文档,并解决加载插件时的性能问题。