Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用非托管代码(C+;+;/Delphi)编写outlook加载项?_C#_C++_Delphi_Outlook_Outlook Addin - Fatal编程技术网

C# 如何使用非托管代码(C+;+;/Delphi)编写outlook加载项?

C# 如何使用非托管代码(C+;+;/Delphi)编写outlook加载项?,c#,c++,delphi,outlook,outlook-addin,C#,C++,Delphi,Outlook,Outlook Addin,我使用C#开发了一个Outlook加载项 我想完全避免因放慢Outlook启动速度而受到惩罚 因此,我想创建一个“加载程序”-加载项。它是用C++/Delphi编写的,只在加载C#加载项后启用它 关于stackoverflow等有很多提示,但没有直接的文档可用 问题: 关于如何使用C++/Delphi编写Outlook外接程序,是否有直接的文档 是否有关于如何编写外接程序以启用辅助外接程序的文档 关于如何使用C++/Delphi编写Outlook加载项,没有直接的文档,因为Outlook加载项有

我使用C#开发了一个Outlook加载项

我想完全避免因放慢Outlook启动速度而受到惩罚

因此,我想创建一个“加载程序”-加载项。它是用C++/Delphi编写的,只在加载C#加载项后启用它

关于stackoverflow等有很多提示,但没有直接的文档可用

问题:

  • 关于如何使用C++/Delphi编写Outlook外接程序,是否有直接的文档
  • 是否有关于如何编写外接程序以启用辅助外接程序的文档

  • 关于如何使用C++/Delphi编写Outlook加载项,没有直接的文档,因为Outlook加载项有两种模型

  • VSTO(旧版)是为.Net Framework和c#设计的。通过COM(Microsoft.Office.Interop.*)工作
  • 外接程序是为TypeScript(outlook web外接程序)设计的
  • 有关加载VSTO加载项的更多信息,您可以在


    < >,没有简单的方法来通过VC++编写VSTO管理的DLL。阅读有关VSTO体系结构的文档并解决加载插件时的性能问题是正确的方法。

    当然-只需实现一个可创建的COM对象(除了
    IUnknown
    )也会公开
    \u IDTExtensibility2
    接口-请参阅。您还需要将其类名添加到
    HKEY\u CURRENT\u USER\SOFTWARE\Microsoft\Office\Outlook\Addins


    如果您想支持功能区或任务窗格,则需要实现
    IRibbonExtensibility
    和/或
    icustomtaskpanecosumer
    接口。

    首先,您可能应该优化外接程序,使其加载速度更快。可能会在加载后延迟一些初始化时间,例如当确实需要时。您还可以将外接程序拆分为几个DLL或COM对象,这些对象将在初始加载后按需加载。谢谢。我仍然想知道为什么Microsoft建议编写非托管外接程序:“首选本机COM外接程序而不是托管外接程序,因为托管外接程序必须在Outlook启动期间产生加载.NET Framework的开销。”