4

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

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

Clipboard 对象包含以下元素:

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

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

有什么建议么?

4

2 回答 2

6

下面是一个示例:C# 中的 Outlook 拖放。该文章适用于拖放,但如果与剪贴板不同,它应该是相似的。

于 2011-01-17T11:48:31.917 回答
-2

不确定这是否可行,但您必须执行以下操作:

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);
}
于 2011-01-17T11:59:27.630 回答