C# 拦截源和目标之间的移动项函数

C# 拦截源和目标之间的移动项函数,c#,outlook,outlook-addin,outlook-redemption,outlook-2010,C#,Outlook,Outlook Addin,Outlook Redemption,Outlook 2010,我已经成功地捕获了ItemMove函数,这是我使用Redemption库(主要)所需要的方式。我的下一个任务可能是不可能的,但我不会知道,除非我问 我写的部分内容涉及将邮件从Exchange收件箱移动到PST,并可能删除附件。之所以这样做,是因为我们的网络冲击在通过DFSR的PST复制方面受到了巨大的冲击(是的,我知道PST/网络问题和MS建议,但当您没有钱进行培训或使用新的归档软件时,您可以尝试向用户解释这一点)。我希望能够通过代码执行以下操作: 1) 用户选择邮件并将其拖动到PST文件夹 2

我已经成功地捕获了ItemMove函数,这是我使用Redemption库(主要)所需要的方式。我的下一个任务可能是不可能的,但我不会知道,除非我问

我写的部分内容涉及将邮件从Exchange收件箱移动到PST,并可能删除附件。之所以这样做,是因为我们的网络冲击在通过DFSR的PST复制方面受到了巨大的冲击(是的,我知道PST/网络问题和MS建议,但当您没有钱进行培训或使用新的归档软件时,您可以尝试向用户解释这一点)。我希望能够通过代码执行以下操作:

1) 用户选择邮件并将其拖动到PST文件夹 2) 外接程序拦截此消息,将消息复制到本地驱动器上的临时PST 3) 附件在本地PST中处理并保存到相应的网络目标 4) 消息被移动到网络上的真实目标PST中

这个多步骤的过程是必要的,因为我们对驱动器空间和最大PST文件大小都有配额。由于PST压缩不会自动发生,我们也不能通过编程强制它,所以我想出了一个解决方法

像往常一样,欢迎提出想法和灵感


-Larry

您不能在Outlook中截获任何拖放事件,至少不能使用任何官方支持的API。
您将在目标文件夹上获得ItemAdd事件,但它仅在创建并保存项目后才会触发。

我就是这么想的,Dmitry。在这件事上,我是不是被困在了救赎之石和微软的困境之间?几乎。。。正如MAPI的工作方式—所有通知都是异步的。