Как получить данные электронной почты при нажатии на электронную почту, используя Outlook API в С#


Я использую .NET 4.0 на 64-разрядной машине Win7.
Я пытаюсь получить сведения об электронной почте, когда нажимаю на нее в Outlook. Когда я нажимаю на электронное письмо, я перехватываю событие, которое уведомляет меня о том, что новый элемент щелкнут/загружен в память при обратном вызове ItemLoad(object Item), но параметр пуст, потому что, как говорится в документации, это событие происходит, когда Элемент Outlook начинает загружаться в память, и доступ к нему невозможен. Есть ли способ получить доступ к данным, связанным с выбранным элементом? Мой код:

m_oApp = new Outlook.Application();
.....
m_oApp.ItemLoad += m_oApp_ItemLoad;
.....
void m_oApp_ItemLoad(object Item)
{
       //Outlook.MailItem mail = (Outlook.MailItem)Item;//Item here is a NULL object
}

person Lucian    schedule 19.02.2015    source источник


Ответы (1)


В обработчике событий ItemLoad вы можете подписаться на события уровня элемента, такие как Open, Читать , ReadComplete и т. д.

Вы можете рассмотреть возможность использования SelectionChange. вместо этого событие класса Explorer. Он запускается, когда пользователь выбирает другой или дополнительный элемент Microsoft Outlook программно или посредством взаимодействия с пользовательским интерфейсом. Это событие также происходит, когда пользователь (программно или через пользовательский интерфейс) щелкает или переключается на другую папку, содержащую элементы, поскольку Outlook автоматически выбирает первый элемент в этой папке.

person Eugene Astafiev    schedule 19.02.2015