2016-11-21 4 views
0

Ich generiere eine Nachricht und öffne sie für den Benutzer, mit Microsoft.Office.Interop.Outlook. Wenn ein Benutzer die Nachricht in Outlook sendet, möchte ich dieses Ereignis erfassen. Nicht wie besprochen treten in diesem SO:OutLook MailItem senden Ereignis funktioniert nicht

capture the Outlook 2013 Send event

, wo ich alle gesendeten E-Mails erfassen, nicht nur generiert.

public static MailItem CreateMail() 
{ 
    Application outlook = new Application(); 
    MailItem mailItem = outlook.CreateItem(OlItemType.olMailItem); 
    // set recipients, body, ect.. 
    mailItem.Send += MailItemSendedHandler; 
    Inspector inspector = mailItem.GetInspector; 
    inspector.Activate(); 
    return mailItem; 
} 

static void MailItemSendedHandler(ref bool isSended) 
{ 
} 

MailItem hat ein Send() Verfahren und ein Send Ereignis. Als ich abonniere ich den Fehler:

Cannot assign to "Send", because it is a method group.

Wie kann ich die Send Ereignis für meine MailItem erfassen?

Antwort

0

MailItem ist eine Schnittstelle, die von Schnittstellen geerbt wurde: _MailItem und ItemEvents_10_Event. Beide haben Send (in _MailItem ist es eine Methode, in ItemEvents_10_Events - Ereignis). Ich denke, wir haben Konflikt, und müssen klar definieren, Senden wollen wir verwenden.

((ItemEvents_10_Event)mailItem).Send += new ItemEvents_10_SendEventHandler(MailItemSendedHandler); 

static void MailItemSendedHandler(ref bool isSended) 
{ 
} 
+2

Bitte fügen Sie eine Erklärung hinzu – prasanth

+0

Sorry, @prasad. Mayby wird es klarer sein. –

Verwandte Themen