设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 办公软件 >> Outlook >> Outlook Add-in(COM加载项)技术指南(二)
精品推荐
Outlook点击TOP10
·OutLook Express邮件数据备份和恢复
·如何用Outlook Express访问微软新闻组!
·Outlook add-in 插件.Net开发经验
·CB6中读取OUTLOOK中的地址簿
·五招搞定Outlook2003群发邮件功能
·在 Outlook 2002 中修复 .ost 或 .pst 文件
·Office2000(2003) 下 outlook,word 的 com addin 之 delphi实现!(整理摸索)
·.NET 平台下的OutLook 开发技术
·如何使用Outlook Express拒收邮件
·[常用]OUTLOOK EXPRESS 问答集锦
办公软件点击TOP10
·Excel常用技巧25条
·Excel表格分栏打印输出的两种巧妙方法
·让Word2003代替金山词霸帮你翻译英文
·轻松破解Word与Excel的文档密码
·教你微软Office Word文挡损坏后的修复
·Word表格行、列、单元格的添加与删除
·Excel表格中关于序号处理的五则技巧
·Word公式编辑器快速上手指南
·Excel中双座标排列图的制作实例
·升级至 Access 2000 时出现不可识别的数据库格式错误消息
精选专题

Outlook Add-in(COM加载项)技术指南(二)

作者: 来源:网络文章 时间:2005-12-13 17:19:59

Word-BREAK: break-all; TEXT-INDENT: 42.15pt; TEXT-ALIGN: right; mso-char-indent-count: 1.0" align=right>Outlook Add-in(COM加载项)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

技术指南

 

2 COM加载项的开发过程

摘要:本章节详细介绍了Outlook Add-in插件的开发过程。

 

2.1.开发COM加载项

VB中,首先需要引用“Microsoft  Add-in Designer”类型库,该库包含了一些COM加载项必需的界面。

其次Visual Basic需要Implements IDTExtensibilityCSC="0">2

 

更多信息

一个Office2000下的内部COM插件必须实现一个_IDTExtensibility2派发接口。

_IDTExtensibility2派发接口被定义在MSADDin Designer类型库(MSADDNDR.dll/MSADDNDR.tlb)中,它通常位于<盘符>/Program Files/Common Files/Designer下。

_IDTExtensibility2接口中必须实现下面五个接口事件函数(一般只需编写OnConnectionOnDisconnection中代码)

2.1.1. IDTExtensibility2事件背景知识

IDTExtensibility2提供了5个将用于COM加载项的事件:

Ø         OnConnection      装载插件到内存时处理(可以通过自动化在程序启动时自动装载插件)

Ø         OnDisconnection   从内存中缷载插件时处理。

Ø         OnStartupComplete 当应用程序启动时插件刚装载完成时处理。

Ø         OnBeginShutdown  当应用程序关闭时插件刚缷载完成时处理。

Ø         OnAddInsUpdate    COM插件改变时处理。

下面我们一一介绍这些事件:

 

2.1.1.1. OnConnection事件

当第一次加载或者连接加载项时,例如Outlook启动时,或者当用户选择加载COM加载项时,将调用OnConnection事件。

OnConnection事件是获取或存储稍候将要在代码中使用的OutlookApplication队形最好的地方。

当发生OnConnection事件,将传递以下四个参数:

Application参数:是OutlookApplication的引用。

ConnectMode参数:COM加载项的加载方式。可以是以下常量中的一种:ext_cm_AfterStartup,ext_cm_CommandLine,ext_cm_External或者ext_cm_Startup。当Outlook启动时连接我们的加载项,这个参数被设置为ext_cm_Startup

AddInInst参数:传递引用COM加载项当前实例的对象。

Custom()参数:一个Variant数据类型的阵列,可以存储用户定义的加载项数。对于Office2000加载项,本参数忽略。

 

2.1.1.2. OnDisconnection事件

COM加载项与应用程序断开连接时,将发生OnDisconnection事件。

当发生OnDisconnection事件,将传递以下两个参数:

RemoveMode参数:指定加载项的断开方式,它可以被设置为以下常量:ext_dm_HostShutdownext_dm_UserClosed。顾名思义,ext_dm_HostShutdown表示加载项通过关闭主机来断开;ext_dm_UserClosed表示用户在“COM加载项对话框中取消选中加载项的复选框或加载项的Connect属性被设置为False时断开加载项。

Custom()参数:一个Variant数据类型的阵列,可以存储用户定义的加载项数。对于Office2000加载项,本参数忽略。

可以使用OnDisconnection事件来恢复对应用程序所做的更改,或者执行常规的应用程序来清理操作。

确保撤销您创建的所有检测对象,因为如果这些对象仍旧存在,那么Outlook将无法正常关闭。

 

2.1.1.3.OnStartupComplete事件

对于在启动主控应用程序时连接COM加载项的情况,当主机完成所有的启动例程时,将触发OnStartupComplete事件。如果用户在加载应用程序后从“COM加载项选择加载项时,不会发生OnStartupComplete事件。在这种情况下,将发生OnConnection事件。

该事件过程是将一些全局和本地变量设置为与它们相应的Outlook对象的好地方。

 

2.1.1.4.OnBeginShutdown事件

当应用程序将要关闭并且在OnDisconnection事件之前调用时,将触发OnBeginShutdown事件。甚至在触发OnBeginShutdown事件之后,您仍然完全可以访问Outlook对象模型,因此您可以卸载对象之前保存注册表或者文件的设置,也可以保存对您的对象所做的修改。

 

2.1.1.5.OnAddInsUpdate事件

当更新COM加载项的列表时,将触发OnAddInsUpdate事件。可以使用本事件来确保您的加载项所以来的其他加载项是连接的。

 

2.1.2.我们实现的 IDTExtensibility2事件

2.1.2.1. IDTExtensibility2_OnConnection事件

OnConnection事件中,我们预先读取注册表,把默认参数读出来。

同时,通过调用

Set g_oApplication = Application

得到整个模型的根对象。

 

 

Disclaimers

Programmer’s Blog List

ASPectratio="t" v:ext="edit">

博客堂

小气的神

飞鹰手记  飞鹰手记之.NET专版

蝈蝈俊

UCer/">思归

[MVPLeader]Grace Zhang

豆腐

跟随大象的舞步

Don Box's Blog

Eric.Weblog()

The .NET Guy

Blogs@asp.net

 

本文档仅供参考。本文档所包含的信息代表了在发布之日,zhengyun对所讨论问题的当前看法,zhengyun不保证所给信息在发布之日以后的准确性。

用户应清楚本文档的准确性及其使用可能带来的全部风险。可以复制和传播本文档,但须遵守以下条款:

  1. 复制时不得修改原文,复制内容须包含所有页
  2. 所有副本均须含有 zhengyun的版权声明以及所提供的其它声明
  3. 不得以赢利为目的对本文档进行传播



Outlook Add-in(COM加载项)技术指南(二) 相关文章:
Outlook Add-in(COM加载项)技术指南(二) 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com