如何将Outlook消息从剪贴板保存到文件?

时间:2011-01-17 11:41:07

标签: c# outlook clipboard msg

如果我从收件箱中选择Outlook邮件并将其复制到剪贴板,我可以将其作为* .msg文件粘贴到桌面。

现在我想为我的应用程序实现相同的功能。

Clipboard对象包含以下元素:

RenPrivateSourceFolder
RenPrivateMessages
RenPrivateItem
FileGroupDescriptor
FileGroupDescriptorW
FileDrop
FileNameW
FileName
FileContents
Object Descriptor
System.String
UnicodeText
Text

FileGroupDescriptor包含MemoryStream文件名(Subject.msg),但我不知道如何从剪贴板数据中创建Outlook消息的副本,因为没有任何元素似乎包含消息本身。

任何建议?

2 个答案:

答案 0 :(得分:6)

以下是一个示例:Outlook Drag and Drop in C#。本文适用于拖放操作,但如果使用剪贴板不相同则应该相似。

答案 1 :(得分:-1)

不确定这是否有效, 但你必须做类似的事情:

if (Clipboard.ContainsText(System.Windows.Forms.TextDataFormat.Text))
{
    IDataObject data = Clipboard.GetDataObject();
    Outlook.Application oApp = new Outlook.Application();
    Outlook.MailItem oMsg = (Outlook.MailItem)data.GetData(DataFormats.Text, true);
}