आपको वार्तालाप पर विधियों के राज्यों की निगरानी करने की आवश्यकता है। दो तो उपलब्ध तौर तरीकों आईएम और ए वी कर रहे हैं, ताकि आप तो की तरह, इन पर राज्य में परिवर्तन के लिए देखने के लिए की आवश्यकता होगी: तो
void ConversationManager_ConversationAdded(object sender, Microsoft.Lync.Model.Conversation.ConversationManagerEventArgs e)
{
e.Conversation.Modalities[ModalityTypes.InstantMessage].ModalityStateChanged += IMModalityStateChanged;
e.Conversation.Modalities[ModalityTypes.AudioVideo].ModalityStateChanged += AVModalityStateChanged;
}
void IMModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
{
if (e.NewState == ModalityState.Connected)
MessageBox.Show("IM Modality Connected");
}
void AVModalityStateChanged(object sender, ModalityStateChangedEventArgs e)
{
if (e.NewState == ModalityState.Connected)
MessageBox.Show("AV Modality Connected");
}
यह नमूना साधन परिवर्तन के लिए ईवेंट हैंडलर्स ऊपर तार की ConversationAdded घटना उपयोग कर रहा है, यह केवल उन बातचीत के लिए काम करेगा जो आपके एप्लिकेशन के चलते शुरू होने पर शुरू हो गए हैं। आपके एप्लिकेशन के शुरू होने से पहले पहले से सक्रिय बातचीत के लिए ऐसा करने के लिए, आप इस कोड को अपने एप्लिकेशन के स्टार्टअप रूटीन में जोड़ सकते हैं:
foreach (var conv in _lync.ConversationManager.Conversations)
{
conv.Modalities[ModalityTypes.InstantMessage].ModalityStateChanged += new EventHandler<ModalityStateChangedEventArgs>(IMModalityStateChanged);
conv.Modalities[ModalityTypes.AudioVideo].ModalityStateChanged += new EventHandler<ModalityStateChangedEventArgs>(AVModalityStateChanged);
}
स्रोत
2012-02-09 10:05:28