Как сохранить сообщение Outlook из буфера обмена в файл?

Если я выберу сообщение Outlook из папки «Входящие» и скопирую его в буфер обмена, я смогу вставить его как файл *.msg на рабочий стол.

Теперь я хочу реализовать ту же функцию в своем приложении.

Объект Clipboard содержит следующие элементы:

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

FileGroupDescriptor содержит MemoryStream с именем файла (Subject.msg), но я не знаю, как создать копию сообщения Outlook из данных буфера обмена, поскольку ни один из элементов не содержит самого сообщения.

Какие-либо предложения?


person Jürgen Steinblock    schedule 17.01.2011    source источник


Ответы (2)


Вот пример: Перетаскивание Outlook в C#. Статья работает с перетаскиванием, но она должна быть похожа, если не идентична, для работы с буфером обмена.

person Giorgi    schedule 17.01.2011
comment
Это полностью работает, спасибо, приятель, я искал пример по всему Интернету, но пропустил эту страницу, потому что в статье нет буфера обмена. - person Jürgen Steinblock; 17.01.2011

Не уверен, что это сработает, но вам нужно сделать что-то вроде:

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);
}
person iTSrAVIE    schedule 17.01.2011
comment
Вы не можете преобразовать строку в Outlook.MailItem. Это не ответ на вопрос. - person 15ee8f99-57ff-4f92-890c-b56153; 29.08.2018