如何正确实现Office COM加载项的IDTExtensibility2接口?

时间:2008-12-22 20:35:13

标签: .net outlook office-interop comaddin

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

此接口定义了五种方法:OnConnection,OnStartupComplete,OnAddInsUpdate,OnBeginShutdown,OnDisconnection。

我需要执行以下操作:

  1. 从文件
  2. 加载配置数据
  3. 加载注册表数据
  4. 开始新会话
  5. 创建* .pst文件
  6. 订阅资源管理器活动
  7. 连接到Internet服务器以获取一些数据
  8. 在主菜单中创建菜单项
  9. 创建工具栏
  10. 在Outllok中添加/删除一些内容(在* .pst文件级别上)
  11. 请告知,我应该做什么时候?

    • 我需要在OnConnection方法中执行什么操作?
    • 仅当OnStartupComplete调用时才允许什么?
    • 在OnBeginShutdown / OnDisconnection期间我需要免费处理哪些资源?

1 个答案:

答案 0 :(得分:3)

请注意,1,2和6不是特定于Outlook-addin的任务。

不需要

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参考的地方,即从您通过Application收到的初始OnConnection参考中获得的所有内容。< / p>