我想用VC实现当MSN有消息到来时,VC主程序会弹出一个提示框,就这样简单,我从网上找到了可以获取MSN联系人列表的源代码,想对其改编,但不行,觉得当MSN有消息到来时,应该是和事件有关的处理,我可真要郁闷死了,请高手给指点一下吧!这是MSDN中关于Windows Messenger 接口的文档链接:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winmessenger/winmessenger/messenger_entry.asp 这是获得MSN中联系人列表的代码链接:
http://www.vckbase.com/document/viewdoc/?id=1050代码如下: IMessengerPtr MSNMessager = NULL;
IMessengerContactsPtr MSNMessagerContacts = NULL;
IMessengerContactPtr MSNMessagerContact = NULL;
HRESULT hr = MSNMessager.CreateInstance(__uuidof(Messenger)); if (FAILED(hr))
{
AfxMessageBox("Create the Messenger object failed!");
return;
} MSNMessagerContacts = MSNMessager->GetMyContacts(); if (NULL == MSNMessagerContacts)
{
AfxMessageBox("the Messenger object GetMyContacts failed!");
return;
} long lCount = MSNMessagerContacts->GetCount(); for (int i = 0; i < lCount; i++)
{
MSNMessagerContact = MSNMessagerContacts->Item(i);
if (NULL == MSNMessagerContact)
{
AfxMessageBox("the MSNMessagerContactsGetContact failed!");
break;
} // 显示名称
_bstr_t bstrtFriendlyName = MSNMessagerContact>GetFriendlyName(); // 登录名称
_bstr_t bstrtSigninName = MSNMessagerContact->GetSigninName();
}
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winmessenger/winmessenger/messenger_entry.asp 这是获得MSN中联系人列表的代码链接:
http://www.vckbase.com/document/viewdoc/?id=1050代码如下: IMessengerPtr MSNMessager = NULL;
IMessengerContactsPtr MSNMessagerContacts = NULL;
IMessengerContactPtr MSNMessagerContact = NULL;
HRESULT hr = MSNMessager.CreateInstance(__uuidof(Messenger)); if (FAILED(hr))
{
AfxMessageBox("Create the Messenger object failed!");
return;
} MSNMessagerContacts = MSNMessager->GetMyContacts(); if (NULL == MSNMessagerContacts)
{
AfxMessageBox("the Messenger object GetMyContacts failed!");
return;
} long lCount = MSNMessagerContacts->GetCount(); for (int i = 0; i < lCount; i++)
{
MSNMessagerContact = MSNMessagerContacts->Item(i);
if (NULL == MSNMessagerContact)
{
AfxMessageBox("the MSNMessagerContactsGetContact failed!");
break;
} // 显示名称
_bstr_t bstrtFriendlyName = MSNMessagerContact>GetFriendlyName(); // 登录名称
_bstr_t bstrtSigninName = MSNMessagerContact->GetSigninName();
}
DMsgrSessionEvents::OnContextData EventFires when new context data has arrived.Syntax void OnContextData( BSTR bstrContextData
);Parameters bstrContextData
[in] BSTR that contains context information. This data is defined by the application at run time.Return Value No return value. Event DISPID DISPID_ONCONTEXTDATA The DISPID for this event is defined in msgrpriv.h. Use this value to identify the event handler when implementing IDispatch::Invoke.
用这个行吗?DMsgrObjectEvents::OnTextReceived Event