如何使用非托管代码 (C++/Delphi) 编写 outlook 加载项?
How to write an outlook add-in using unmanaged code (C++/Delphi)?
我使用 C# 开发了一个 Outlook 加载项。
我想完全避免因减慢 Outlook 启动速度而受到惩罚。
因此我想创建一个“加载程序”-Add-in。它是用 C++/Delphi 编写的,除了在自身加载后启用 C#-Add-in 之外什么都不做。
有很多关于 Whosebug 等的提示,但没有可用的直接文档。
问题:
- 是否有关于如何使用 C++/Delphi 编写 Outlook 加载项的简单文档?
- 是否有关于如何编写启用辅助插件的插件的文档?
没有直接说明如何使用 C++/Delphi 编写 Outlook 加载项的文档,因为 outlook 加载项有两种模型
- VSTO(旧)专为 .Net Framework 和 c# 而设计。通过 COM 工作 (Microsoft.Office.Interop.*).
- 加载项专为 TypeScript(outlook 网络加载项)设计。
有关加载 VSTO 插件的更多信息,您可以在 Architecture of VSTO Add-ins
中阅读
因此,没有简单的方法通过 C++ 为 VSTO 编写托管 dll。正确的方法是阅读有关 VSTO 体系结构的文档,并解决加载外接程序时的性能问题。
当然 - 只需实现一个可创建的 COM 对象(除 IUnknown
之外)还公开 _IDTExtensibility2
接口 - 请参阅 https://docs.microsoft.com/en-us/dotnet/api/extensibility.idtextensibility2?view=visualstudiosdk-2019。您还需要将其 class 名称添加到 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins
.
如果您想支持功能区或任务窗格,您还需要实现 IRibbonExtensibility
and/or ICustomTaskPaneConsumer
接口。
我使用 C# 开发了一个 Outlook 加载项。
我想完全避免因减慢 Outlook 启动速度而受到惩罚。
因此我想创建一个“加载程序”-Add-in。它是用 C++/Delphi 编写的,除了在自身加载后启用 C#-Add-in 之外什么都不做。
有很多关于 Whosebug 等的提示,但没有可用的直接文档。
问题:
- 是否有关于如何使用 C++/Delphi 编写 Outlook 加载项的简单文档?
- 是否有关于如何编写启用辅助插件的插件的文档?
没有直接说明如何使用 C++/Delphi 编写 Outlook 加载项的文档,因为 outlook 加载项有两种模型
- VSTO(旧)专为 .Net Framework 和 c# 而设计。通过 COM 工作 (Microsoft.Office.Interop.*).
- 加载项专为 TypeScript(outlook 网络加载项)设计。
有关加载 VSTO 插件的更多信息,您可以在 Architecture of VSTO Add-ins
中阅读因此,没有简单的方法通过 C++ 为 VSTO 编写托管 dll。正确的方法是阅读有关 VSTO 体系结构的文档,并解决加载外接程序时的性能问题。
当然 - 只需实现一个可创建的 COM 对象(除 IUnknown
之外)还公开 _IDTExtensibility2
接口 - 请参阅 https://docs.microsoft.com/en-us/dotnet/api/extensibility.idtextensibility2?view=visualstudiosdk-2019。您还需要将其 class 名称添加到 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins
.
如果您想支持功能区或任务窗格,您还需要实现 IRibbonExtensibility
and/or ICustomTaskPaneConsumer
接口。