Premier programme avec "Office Communicator Automation API"

Publié le 06 mars 2009 par Blogtech

Office communicator est le logiciel de gestion de communications unifiées signé Microsoft.

Ci-dessous, un exemple de code qui vous montre comment exploiter les Api Office Communicator pour obtenir des informations sur les personnes qui vous appel et les afficher sur la console.

A partir des informations sur le contact qui vous appel, on peut imaginer une infinité de possibilités :

  • Ouvrir les mails de cette personne,
  • Afficher l’historique des appels,
  • Ouvrir une fiche dans un CRM,
  • Etc...
class OCSHookUp
{
    CommunicatorAPI.Messenger comm = null;

    static void Main(string[] args)
    {
        OCSHookUp hu = new OCSHookUp();
        hu.InitEvents();
        Console.ReadKey();
    }

    public void InitEvents()
    {
        comm = new CommunicatorAPI.Messenger();

        comm.OnIMWindowCreated +=
            new CommunicatorAPI.DMessengerEvents_OnIMWindowCreatedEventHandler(comm_OnIMWindowCreated);

        comm.OnIMWindowDestroyed +=
            new CommunicatorAPI.DMessengerEvents_OnIMWindowDestroyedEventHandler(comm_OnIMWindowDestroyed);
    }

    void comm_OnIMWindowCreated(object pIMWindow)
    {
        CommunicatorAPI.IMessengerConversationWndAdvanced stpIMWindow =
            pIMWindow as CommunicatorAPI.IMessengerConversationWndAdvanced;

        long Hwnd = (long)stpIMWindow.HWND;
        Console.WriteLine("Nouvelle fenêtre OCS crée : {0}", Hwnd);

        //Listing Frindly name of the caller.
        CommunicatorAPI.IMessengerContacts contactList = (CommunicatorAPI.IMessengerContacts)stpIMWindow.Contacts;

        StringBuilder sb = new StringBuilder();
        foreach (CommunicatorAPI.IMessengerContact imc in contactList)
        {
            sb.Append(imc.FriendlyName);
            sb.Append(Environment.NewLine);
        }
        Console.WriteLine(sb.ToString());
    }

    void comm_OnIMWindowDestroyed(object pIMWindow)
    {
        Console.WriteLine("Fenêtre détruite.");
    }
}

Pour que cela fonctionne correctement, vous devrez ajouter une référence aux Dll suivantes :

Pour cela ajoutez une référence au fichier "C:\Program Files\Microsoft Office Communicator\communicator.exe"