C# 如何扩展ItemAdd以处理超过16封邮件?

C# 如何扩展ItemAdd以处理超过16封邮件?,c#,.net,outlook,outlook-addin,C#,.net,Outlook,Outlook Addin,我已经开发了一个Outlook加载项,每次有新项目进入收件箱时,我都会使用ItemAdd。它工作正常,但当我在几小时/几天后打开Outlook时,它已关闭,无法工作 我在网上搜索发现ItemAdd最多支持16个项目。在某些情况下,我可能有200多个项目。我如何扩展这个数字 提前谢谢你 16个项目的限制是一种转移注意力的方法-您的问题是添加项目时代码没有运行。Outlook启动时不会触发这些事件—据它所知,这些项目已经存在很久了。您需要处理您自己的未读项目、不在列表中的项目等的新项目 最重要的是,

我已经开发了一个Outlook加载项,每次有新项目进入收件箱时,我都会使用ItemAdd。它工作正常,但当我在几小时/几天后打开Outlook时,它已关闭,无法工作

我在网上搜索发现ItemAdd最多支持16个项目。在某些情况下,我可能有200多个项目。我如何扩展这个数字


提前谢谢你

16个项目的限制是一种转移注意力的方法-您的问题是添加项目时代码没有运行。Outlook启动时不会触发这些事件—据它所知,这些项目已经存在很久了。您需要处理您自己的未读项目、不在列表中的项目等的新项目


最重要的是,您不应该将事件用于任何类型的同步——它们是为UI目的而设计的

这可能是一个很好的方法,以获得所有未读的项目,并对他们的工作?例如,每x分钟扫描一次收件箱,然后移动/删除它们?这可能会导致任何速度问题?是的,您可以在启动时处理所有未读项目,前提是用户未将其标记为已读,例如,mobile Outlook。最好保留您处理的最后一个项目的创建时间,并在调用Items.Find/FindNext时使用CreationTime查询。Items.ItemAdd事件可以作为提示,提示您需要立即而不是稍后运行同步代码。谢谢!答应我,如果我能在接下来的几天内让你的初步答案生效,你会接受的!: