2012-11-07 50 views
-1

我正在使用Skype的應用程序與應用程序通信。我的要求是當一個Skype用戶撥打電話/視頻電話時我想使用應用程序流將一個應用程序的Skype消息發送到插入Skype的其他應用程序。當Skype ICallChannelManagerEvents被觸發

在單獨的示例應用程序中,我能夠使用從一個應用程序到其他應用程序的應用程序流發送和接收消息,但我希望在用戶撥打電話時激活應用程序流。

Skype4COM揭露這三個事件ICallChannelManager

  1. ICallChannelManagerEvents ::頻道
  2. ICallChannelManagerEvents ::創建
  3. ICallChannelManagerEvents ::消息

我已經註冊了這三個事件

hr = m_pCallChannelMgr.CreateInstance(__uuidof(CallChannelManager)); 
hr = SinkSkypeCallChannelMgrEvents::DispEventAdvise(m_pCallChannelMgr); 

hr = m_pCallChannelMgr->CreateApplication(L""); 
VARIANT_BOOL flag = m_pCallChannelMgr->GetCreated(); 
while(true) 
{ 
if (VARIANT_TRUE == flag) break; 
flag = m_pCallChannelMgr->GetCreated(); 
Sleep(1000); 

} 
hr = m_pCallChannelMgr->Connect(m_Skypeptr); 

當m_pCallChannelMgr-> CreateApplication();被稱爲它觸發ICallChannelManagerEvents :: Created事件。

我不確定,當其他兩個事件ICallChannelManagerEvents :: Channels和ICallChannelManagerEvents :: Message被觸發時。 Plz幫助我解決這個問題。

回答

0

問題當已經有一個呼叫正在處理並且您的插件開始掛接到Skype時,解決ICallChannelManagerEvents被觸發。

相關問題