如果我从收件箱中选择Outlook邮件并将其复制到剪贴板,我可以将其作为* .msg文件粘贴到桌面。
现在我想为我的应用程序实现相同的功能。
Clipboard对象包含以下元素:
RenPrivateSourceFolder
RenPrivateMessages
RenPrivateItem
FileGroupDescriptor
FileGroupDescriptorW
FileDrop
FileNameW
FileName
FileContents
Object Descriptor
System.String
UnicodeText
Text
FileGroupDescriptor
包含MemoryStream
文件名(Subject.msg),但我不知道如何从剪贴板数据中创建Outlook消息的副本,因为没有任何元素似乎包含消息本身。
任何建议?
答案 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);
}