将邮件从 Outlook 拖放到文本

Drag and drop mail from Outlook to text

这是一个有点软的问题,因为我还没有真正到达开始编写项目代码的地步。我在这里寻找的是关于如何最好地构建我想要的软件的指南和建议。

我一直对拖放技术着迷,Outlook 让我可以毫无问题地将电子邮件拖到我的桌面(在 Windows 中)。

我希望能够继续这样做,但是当拖放时,我希望我桌面上的电子邮件是 .txt 格式,并填充电子邮件的内容。

现在,以下是关于我目前的想法的一些自由思考。

为了将邮件拖出 Outlook 必须选中它,所以我想我可以通过 C# 中的以下方法获取选中的邮件。

首先使用:

using Office = Microsoft.Office.Core; 
using Outlook = Microsoft.Office.Interop.Outlook;

然后通过以下方式获取当前选择的电子邮件:

Outlook.Selection currentSelection = control.Context as Outlook.Selection;
Outlook.MailItem selectedMail = currentSelection[1];

现在,按照我的看法,需要在拖动开始时获取电子邮件的内容,并在拖放发生时产生一个新的 .txt 文件,例如包含邮件正文文本.

但这只是我的想法。

你们中的一些人会怎么做?

是否有一些方法可以指定拖动 Outlook 中的元素时发生的事件?

如果是这样,我可以指定处理后的信息丢失时会发生什么情况吗?喜欢将其粘贴到所需位置的新 .txt 文件中吗?

还是我的想法全错了?

当您将 Outlook 项目拖放到任何窗体时,您可以使用 Selection 对象。因此,如果项目被拖放到那里,您可以通过 Outlook 中的 Selection 对象获取它。但是当您在桌面上拖放 Outlook 项目(到磁盘上的任何文件夹)时,您会得到一个 .msg 文件。没有简单的方法可以覆盖该行为。