C# 如何将Outlook邮件从剪贴板保存到文件?

C# 如何将Outlook邮件从剪贴板保存到文件?,c#,outlook,clipboard,msg,C#,Outlook,Clipboard,Msg,如果我从收件箱中选择Outlook邮件并将其复制到剪贴板,我可以将其作为*.msg文件粘贴到桌面 现在我想在我的应用程序中实现相同的功能 剪贴板对象包含以下元素: RenPrivateSourceFolder RenPrivateMessages RenPrivateItem FileGroupDescriptor FileGroupDescriptorW FileDrop FileNameW FileName FileContents Object Descriptor System.Stri

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

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

剪贴板对象包含以下元素:

RenPrivateSourceFolder
RenPrivateMessages
RenPrivateItem
FileGroupDescriptor
FileGroupDescriptorW
FileDrop
FileNameW
FileName
FileContents
Object Descriptor
System.String
UnicodeText
Text
FileGroupDescriptor
包含一个带有文件名(Subject.msg)的
MemoryStream
,但我不知道如何从剪贴板数据中的outlook邮件创建副本,因为似乎没有任何元素包含邮件本身


有什么建议吗?

这里有一个例子:。这篇文章适用于拖放操作,但如果不适用于剪贴板,则应该与之类似。

不确定这是否有效, 但你必须做一些事情,比如:

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);
}

这完全有效,谢谢你,伙计,我在整个互联网上搜索了一个例子,但错过了那个页面,因为剪贴板不在文章中。你不能向Outlook.MailItem强制转换字符串。这不是问题的答案。