Outlook插件开发与安装指南

在Outlook中,经常会遇到一个让人抓狂的问题:那就是在“已删除邮件”旁边显示的未读邮件数量。为了解决这个问题,创建了一个简单的Outlook插件,确保任何移动到“已删除邮件”的邮件都被标记为已读。本文的目的是分享这个插件,同时也展示在开发Outlook插件以及其安装程序过程中学到的知识。

使用代码

标记邮件为已删除的代码实际上非常简单。首先,需要创建一个新项目,并选择“Outlook 2010 Add-In”作为项目类型。然后,需要展开“Outlook”组,并打开ThisAddIn.cs文件。在ThisAddIn_Startup方法中,将添加一个事件处理器:

Outlook.MAPIFolder deletedFolder = this .Application.Session.GetDefaultFolder( Outlook.OlDefaultFolders.olFolderDeletedItems); deletedFolder.Items.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(DeletedItems_ItemAdd);

在事件处理器中,只需将邮件标记为已读。在提供的源代码中还检查了其他几种邮件类型,但它们基本上都类似于这样:

if (Item is Outlook.MailItem) { (Item as Outlook.MailItem).UnRead = false ; }

就是这样。关闭Outlook并点击运行按钮,调试器将打开带有插件运行的Outlook。可以测试它并验证它是否在将邮件发送到“已删除邮件”时将其标记为已读。

安装插件

首先,需要创建一个新的安装项目。创建安装项目后,切换到Release并重建解决方案。如果点击解决方案资源管理器中的安装项目,将看到一系列工具按钮。将使用文件系统编辑器和注册表编辑器。

在文件系统编辑器中,将右键单击应用程序文件夹以添加一些东西:

  • Project Output->Primary Output
  • File->MarkDeletedItemsRead.dll.manifest (from the bin\release folder)
  • File->MarkDeletedItemsRead.vsto (from the bin\release folder)

在注册表编辑器中,需要创建键HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\Mark Deleted Items Read。最终的键名并不重要,但不希望它与插件项目名称匹配,因为VS在调试时会覆盖该键。

然后需要为Description、FriendlyName和Manifest创建字符串值。可以为前两个值随意设置,但Manifest的值应该是"[TARGETDIR]MarkDeletedItemsRead.vsto|vstolocal"。

重建安装项目后,应该能够在bin\release文件夹中的Setup.exe进行安装。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485