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"
Pour plus d'informations :