65.9K
CodeProject 正在变化。 阅读更多。
Home

创建 Outlook 2010 加载项

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.94/5 (10投票s)

2011 年 5 月 10 日

CPOL

2分钟阅读

viewsIcon

167859

downloadIcon

6910

创建一个插件,当项目在 Outlook 2010 中被删除时,自动将其标记为已读。

引言

在本文中,我将介绍如何创建一个简单的 Outlook 插件,以及如何创建安装项目以进行安装。

背景

一直以来,我都很烦恼“已删除邮件”旁边那个小数字,它告诉我我还有未读邮件。我终于受够了,并创建了这个小 Outlook 插件,以确保我移动到“已删除邮件”中的任何内容也会被标记为已读。

这就是我创建这个插件的原因。我写这篇文章主要是为了分享这个插件,但也为了展示我学习到的关于编写 Outlook 插件,或者更准确地说,Outlook 插件安装程序的知识。

Using the Code

标记项目为已删除的代码实际上非常简单。首先,我们需要创建一个新项目,并选择“Outlook 2010 插件”作为项目类型。

NewProject.PNG

然后展开“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 并运行该插件。您可以对其进行测试,并验证它是否在您将其发送到“已删除邮件”时将其标记为已读。

安装插件

首先,我们需要创建一个新的安装项目。

NewSetup.PNG

创建安装项目后,切换到“发布”并重新生成解决方案。如果您单击解决方案资源管理器中的安装项目,您将看到解决方案资源管理器顶部的一系列工具按钮。我们将使用文件系统编辑器和注册表编辑器。

文件系统编辑器

在文件系统编辑器中,我们将右键单击“应用程序”文件夹以添加一些内容

  • 项目输出->主输出
  • 文件->MarkDeletedItemsRead.dll.manifest(来自 bin\release 文件夹)
  • 文件->MarkDeletedItemsRead.vsto(来自 bin\release 文件夹)

注册表编辑器

在注册表编辑器中,我们需要创建键 HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\Mark Deleted Items Read

最终键名并不重要,但您不希望它与插件项目名称匹配,因为 VS 在调试时会覆盖该键。

然后,我们需要为 DescriptionFriendlyNameManifest 创建字符串值。您可以为前两个值设置任何内容,但 Manifest 的值应为 "[TARGETDIR]MarkDeletedItemsRead.vsto|vstolocal"。

重新生成安装项目,您应该能够从 bin\release 文件夹中的 Setup.exe 进行安装。

历史

  • 2011/10/05 - 初始发布。
© . All rights reserved.