创建 Outlook 2010 加载项






4.94/5 (10投票s)
创建一个插件,当项目在 Outlook 2010 中被删除时,自动将其标记为已读。
引言
在本文中,我将介绍如何创建一个简单的 Outlook 插件,以及如何创建安装项目以进行安装。
背景
一直以来,我都很烦恼“已删除邮件”旁边那个小数字,它告诉我我还有未读邮件。我终于受够了,并创建了这个小 Outlook 插件,以确保我移动到“已删除邮件”中的任何内容也会被标记为已读。
这就是我创建这个插件的原因。我写这篇文章主要是为了分享这个插件,但也为了展示我学习到的关于编写 Outlook 插件,或者更准确地说,Outlook 插件安装程序的知识。
Using the Code
标记项目为已删除的代码实际上非常简单。首先,我们需要创建一个新项目,并选择“Outlook 2010 插件”作为项目类型。
然后展开“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 并运行该插件。您可以对其进行测试,并验证它是否在您将其发送到“已删除邮件”时将其标记为已读。
安装插件
首先,我们需要创建一个新的安装项目。
创建安装项目后,切换到“发布”并重新生成解决方案。如果您单击解决方案资源管理器中的安装项目,您将看到解决方案资源管理器顶部的一系列工具按钮。我们将使用文件系统编辑器和注册表编辑器。
文件系统编辑器
在文件系统编辑器中,我们将右键单击“应用程序”文件夹以添加一些内容
- 项目输出->主输出
- 文件->MarkDeletedItemsRead.dll.manifest(来自 bin\release 文件夹)
- 文件->MarkDeletedItemsRead.vsto(来自 bin\release 文件夹)
注册表编辑器
在注册表编辑器中,我们需要创建键 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 进行安装。
历史
- 2011/10/05 - 初始发布。