我现在想导出MSN里好友的列表,可是调试时发现
HRESULT hr = MSNMessager.CreateInstance(__uuidof(Messenger));
返回的是&#135; _com_ptr_t<_com_IIID<IMessenger,&_GUID_d50c3186_0f89_48f8_b204_3604629dee10> >::CreateInstance 返回 0x80040154 没有注册类别  HRESULT请问一下高手们什么原因,应该怎么解决,谢谢了

解决方案 »

  1.   

    msn不是提供了api吗MyContactsIMessengerContacts
      

  2.   

    是啊    现在找了个例子是获取好友列表的,
    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;
    }
    应该调的也是api,可是现在
      

  3.   

    这里创建实例创建不了,返回是
    _com_ptr_t<_com_IIID<IMessenger,&_GUID_d50c3186_0f89_48f8_b204_3604629dee10> >::CreateInstance 返回 0x80040154 没有注册类别  HRESULT不知道什么原因......
      

  4.   

    http://www.vckbase.com/document/viewdoc/?id=1050
      

  5.   

    谢谢 小三,我就是用这个例子的,不知道为什么,创建不了实例
    HRESULT hr = MSNMessager.CreateInstance(__uuidof(Messenger));
    if (FAILED(hr))
    {
    AfxMessageBox("Create the Messenger object failed!");
    return;
    }
      

  6.   

    什么意思?  怎么看一致不一致?还有我怎么直接用系统自带的接口创建一个实例,要哪些头文件
    IMessengerWindow *pIMsnWindow;
    CoInitialize(0);
    CoCreateInstance(__uuidof(Messenger),NULL,CLSCTX_ALL,IID_IMessenger,(void **)&pIMessenger);
    其中第四个参数怎么写啊?这是从别的地方拿来的,在这里编译时说IID_IMessenger没定义
      

  7.   

    这个应该是用Import导入的DLL生成的IDL脚本定义里的吧