基于最大熵方法的垃圾邮件过滤插件的设计与实(2)
2015-07-03 01:10
导读:2.3用.NET开发Outlook插件 利用PIA,开发人员可以在.NET中方便地对Outlook的编程接口进行操作[7]。Visual Studio.NET 2003提供了“共享的外接程序”项目模板,通过
2.3用.NET开发Outlook插件
利用PIA,开发人员可以在.NET中方便地对Outlook的编程接口进行操作[7]。Visual Studio.NET 2003提供了“共享的外接程序”项目模板,通过创建自定义外接程序,对Outlook 2003进行功能扩展。完成共享的外接程序向导后,得到包含两个项目的解决方案,即外接程序项目和对应的安装项目。
外接程序自动引用程序集Extensibility.dll。它包含命名空间Extensibility。其中确切定义了三个类型:
(1)IDTExtensibility2——所有外接程序都必须实现的关键接口;
(2)ext_ConnectMode——枚举变量,表示将宿主程序(Outlook)连接到外接程序的各种方式;
(3)ext_DisconnectMode——枚举变量,表示将外接程序与宿主程序断开的各种方式。 2.3.1 IDTExtensibility2接口的角色
IDTExtensibility2 接口类型定义了在插件生命周期的各个阶段宿主应用程序所调用的方法。
(1)OnConnection()方法——插件连接到宿主程序时调用该方法。成功返回表明已加载了插件;否则宿主程序立即释放其对该插件的引用。
(2)OnDisconnection()方法——插件断开连接并且在从内存中卸载之前,将激活此事件。
(3)OnAddInsUpdate()方法——当最终用户在宿主程序中插入或删除插件时,调用OnAddInsUpdate( )方法。
(4)OnStartupComplete()和OnBeginShutdown()方法——只有在启动期间已连接了插件的情况下才调用OnStartupComplete();此时所有宿主资源均可供插件使用,因此典型的操作是为插件构造用户界面。宿主程序在关闭过程中要断开与插件连接的情况下调用OnBeginShutdown();通常在此事件中执行所有资源清理操作,并还原对宿主程序所作的任何更改。
2.3.2实现用户界面和业务逻辑
宿主程序加载完成之后,所有的宿主资源均可供插件使用。因此,通常在OnStartupComplete()方法中构建插件的用户界面。例如,向浏览器标准命令栏中添加CommandBarButton的步骤如下:
(科教作文网http://zw.ΝsΕAc.Com编辑整理)
(1)从活动资源管理器获得命令栏集。
(2)查看按钮是否在希望修改的命令栏控件集合中。如果不在,则创建并启用新的实例。
(3)设置CommandBarButton的Click 事件委托,以完成其自定义功能。
根据步骤(3)中指定的自定义按钮的事件委托,在对应的方法中完成用户自定义操作,实现业务逻辑。
2.3.3注册共享外接程序
要在Outlook中使用插件,必须注册插件动态链接库。该动态链接库的类标志符在注册表的\HKEY_CLASSES_ROOT子树下注册。另外,必须在注册表中添加有关插件的信息。该信息提供插件的名称、说明、目标应用程序、初始加载行为和连接状态等。通常在注册表中创建以下键值:
HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\ProgID
其中ProgID为插件程序的唯一标志符的字符串表示形式。
外接程序项目的生成设置中已选中了“注册COM interop”,生成插件的过程中自动向COM interop注册了.NET类。 共2页: 1 [2] 下一页 论文出处(作者):
基于J2EE的元数据管理系统的设计与实现
RFID生猪管理解决方案