2015-11-17 6 views
1

У меня есть аддон для перспективы 2013 года и позже.Приложение NewMailEx перед любыми другими правилами

Основная цель аддона - перемещать письма в папки и изменять строку темы на основе определенных правил (а не правил внешнего вида, но моих собственных правил аддона).

private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{ 
    // ... 
    // new email arrives. 
    this.Application.NewMailEx += Application_NewMailEx; 
} 

Затем переместите его в папку и изменить тему, когда почта приходит

private async void Application_NewMailEx(string entryIdItem) 
{ 
    Outlook.MailItem newMail = GetEmailWithId(entryIdItem); // get that email 

    // ... move email and change the subject 
} 

Но в некоторых случаях, предупреждение рабочего стола обжигают, а также звук был сыгран (на основе конечно, сами правила).

В предупреждении рабочего стола я вижу, что объект еще не изменен, поэтому правила внешнего вида применяются до того, как у моего аддона появилась возможность переместить сообщение и сменить тему.

Итак, как я могу «поймать» электронное письмо перед любыми правилами, предупреждениями на рабочем столе или что-либо еще.

Другими словами, как я могу поместить мой аддон первым, когда дело доходит до обработки писем, когда они прибудут, до применения каких-либо правил, чтобы правило перспективы могло обрабатывать новый объект и т. Д.

ответ

0

Вы не можете - все эти события являются асинхронными и их порядок не определен.

+0

Уверены ли вы? Вы можете заказать правила и прекратить все правила после того, как определенное правило будет завершено. Так что это скажет мне, что они синхронны (по крайней мере, в перспективе по крайней мере 2013). –

+0

Положительный. Механизм правил может выполнять все правила последовательно, но он получает асинхронное уведомление. –