.net - 为 Office COM 加载项实现 IDTExtensibility2 接口(interface)如何正确?

标签 .net outlook office-interop comaddin

我正在为 Outlook 实现 COM 加载项。我使用 IDTExtensibility2。我不确定这是否是执行 COM 加载项的最佳方式,但我无法改变这一点。

该接口(interface)定义了五个方法:OnConnection、OnStartupComplete、OnAddInsUpdate、OnBeginShutdown、OnDisconnection。

我需要执行以下操作:

  • 从文件
  • 加载配置数据
  • 加载注册表数据
  • 开始新 session
  • 创建 *.pst 文件
  • 订阅资源管理器事件
  • 连接到 Internet 服务器以获取一些数据
  • 在主菜单中创建菜单项
  • 创建工具栏
  • 在 Outllok 中添加/删除几个东西(在 *.pst 文件级别)

  • 请指教,我应该什么时候做?
  • 我需要在 OnConnection 方法中执行什么操作?
  • 只有在 OnStartupComplete 调用时才允许什么?
  • 在 OnBeginShutdown/OnDisconnection 期间我需要释放哪些资源?
  • 最佳答案

    请注意,1,2 和 6 不是 Outlook 插件特定的任务。

    3 不是必需的:作为插件,您无需创建 session - 您可以与现有 session 连接(通过实现 OnConnection 方法)。

    对于 4 和 9,我建议使用 RDO:http://dimastr.com/redemption/
    (如果您真的需要另一个 session ,也可以用于 3)

    对于 5,7 和 8,我建议使用 ADX:http://www.add-in-express.com/add-in-net/
    (如果您这样做,您实际上根本不必担心 IDTExtensibility2)
    OnConnection是您获取对 Application 的引用的地方接口(interface),您可以从中派生出其他所有内容。
    OnStartupComplete是您可以放置​​所有初始化代码的地方。
    OnDisconnection是您应该释放您在 session 期间可能积累的所有剩余 OOM 引用的地方,即从初始 Application 派生的所有内容您通过 OnConnection 收到的引用资料.

    关于.net - 为 Office COM 加载项实现 IDTExtensibility2 接口(interface)如何正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/387277/

    相关文章:

    vba - 在同一 Outlook 对话下使用 VBA 发送电子邮件

    vba - 使用 VBA 更改 Outlook 2013 电子邮件主题

    c# - 按字符串选择范围

    c# - 如何以编程方式从图像列表创建 powerpoint

    c# - `Assert.That` 属性有什么用?

    html - 显示设置使图像占据整行 div

    excel - 如何从 Outlook 联系人中获取列中列出的名称的电子邮件地址?

    c# - 在 .NET 中使用 Microsoft.Office.Interop.Excel 需要哪些引用资料?

    .net - Sonarqube 未注册任何 C# 问题

    .net - 如何从 FitNesse 调用 WCF 服务