如何正确地为 Office COM 加载项实现 IDTEXtensibility2 接口?

发布于 2024-07-10 07:54:13 字数 603 浏览 8 评论 0原文

我正在为 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 期间我需要释放哪些资源?

I am implementing COM Add-In for Outlook. I use IDTExtensibility2. I am not sure whether this is the best way of doing COM Add-Ins but I cannot change that.

This interface defines five methods: OnConnection, OnStartupComplete, OnAddInsUpdate, OnBeginShutdown, OnDisconnection.

I need to perform the following operations:

  1. Load configuration data from file
  2. Load registry data
  3. Start new session
  4. Create *.pst file
  5. Subscribe to Explorer events
  6. Connect to Internet Server to get some data
  7. Create menu items in the main menu
  8. Create a toolbar
  9. Add/Remove several things in Outllok (on *.pst files level)

Please advise, what I am supposed to do when?

  • What I need to perform in OnConnection method?
  • What is allowed only when OnStartupComplete invokes?
  • What resources I need to free dispose during OnBeginShutdown / OnDisconnection?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紫竹語嫣☆ 2024-07-17 07:54:14

请注意,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 引用派生的所有内容

Note that 1,2 and 6 are not Outlook-addin-specific tasks.

3 is not needed: As an addin you don't create a session - you get connected with an existing one (by implementing the OnConnection method).

For 4 and 9 I recommend using RDO: http://dimastr.com/redemption/
(can also be used for 3 if you really need another session)

For 5,7 and 8 I recommend using ADX: http://www.add-in-express.com/add-in-net/
(you won't actually have to worry about IDTExtensibility2 at all anymore if you do this)

OnConnection is where you grab your reference to the Application interface from which you can derive everything else.

OnStartupComplete is where you can put all your initialization code.

OnDisconnection is where you should release all remaining OOM references you may have accumulated during the session, i.e everything that was derived from the initial Application reference that you received via OnConnection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文