4

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

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

我需要执行以下操作:

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

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

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

1 回答 1

3

请注意,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 引用的地方,即源自Application您通过OnConnection.

于 2008-12-22T22:04:58.227 回答