【问题标题】:How it is correctly to implement IDTExtensibility2 interface for Office COM Add-In?为 Office COM 加载项实现 IDTExtensibility2 接口如何正确?
【发布时间】:2010-09-28 02:05:21
【问题描述】:

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

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

我需要执行以下操作:

  1. 从文件加载配置数据
  2. 加载注册表数据
  3. 开始新会话
  4. 创建 *.pst 文件
  5. 订阅 Explorer 活动
  6. 连接到 Internet 服务器以获取一些数据
  7. 在主菜单中创建菜单项
  8. 创建工具栏
  9. 在 Outllok 中添加/删除一些内容(在 *.pst 文件级别)

请指教,我应该什么时候做?

  • 我需要在 OnConnection 方法中执行什么操作?
  • 只有在 OnStartupComplete 调用时才允许?
  • 在 OnBeginShutdown / OnDisconnection 期间我需要释放哪些资源?

【问题讨论】:

    标签: .net outlook office-interop comaddin


    【解决方案1】:

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

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

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

    对于 5,7 和 8,我建议使用 ADX:http://www.add-in-express.com/add-in-net/
    (如果你这样做,你实际上根本不必担心IDTExtensibility2

    OnConnection 是您获取对 Application 接口的引用的地方,您可以从中派生其他所有内容。

    OnStartupComplete 是您可以放置​​所有初始化代码的地方。

    OnDisconnection 是您应该释放会话期间可能累积的所有剩余 OOM 引用的地方,即源自您通过 OnConnection 收到的初始 Application 引用的所有内容。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    相关资源
    最近更新 更多