我正在使用Skype上的应用程序进行应用程序通信。我的要求是,当一个Skype用户位置通话/视频通话时,我想使用应用程序流来从Skype插入的一个应用程序发送消息到Skype中的其他应用程序。
在单独的示例应用程序中,我可以使用从一个应用程序到另一个应用程序来发送和接收消息,但是我想在用户place调用时激活应用程序流。
skype4com公开这三个事件,以获取ICAllChannelManager
- icallChannelManagerevents :: Channels
- icallChannelManagerevents ::创建
- 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 ::创建事件。
我不确定,当两个事件iCallChannelManageRevents :: channels和icallChannelManagerevents ::消息被触发时,其他情况下。请帮助我。
当已经有一个调用过程中时解决了问题,并且您的插件开始挂在Skype icallChannelManagerevents中。