zoukankan      html  css  js  c++  java
  • 打破僵局,下一步是完善所有API的调用方式,使得更简单化

    解决问题,在智能指针上折腾了好长时间,主要原因还是COM的功力不够呀,
    这些确实是不能含糊的东西,得花时间好好充实自己。。

    首先在插件connect的时候把 Outlook Application 变量放在一个全局的地方: gOutlookApp

    取得联系人的关键代码:

    //取得地址
    LRESULT CContacts::OnBnClickedButtongetaddr(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
    {
      //this->GetDlgItem(IDC_LISTADDR);

     CString buf = "联系人\n";

     _NameSpacePtr spNameSpace;
     gOutlookApp->GetNamespace(L"MAPI",&spNameSpace);

     AddressListsPtr spAddrLists;
     spNameSpace->get_AddressLists(&spAddrLists);

     long listsCount;
     spAddrLists->get_Count(&listsCount);
     for(int i=1;i <= listsCount;i++)
     {
      _variant_t vi(i);
      AddressListPtr spAddrList;
      spAddrLists->Item(vi,&spAddrList);

      AddressEntriesPtr spAddrEntries;  
      spAddrList->get_AddressEntries(&spAddrEntries); 
      long entryCount;
      spAddrEntries->get_Count(&entryCount);
      for(int j=1;j <= entryCount;j++)
      {
       _variant_t vj(j);
       AddressEntryPtr spEntry;
       spAddrEntries->Item(vj,&spEntry);
       BSTR sAddr;
       spEntry->get_Address(&sAddr);
       buf += sAddr;
       buf += "\n";
      }
     }
     MessageBox(buf);
     
     return 0;
    }

    要注意的一点是 Item函数的参数是从1开始的。

    下面得继续做的就是:
    1、创建联系人
    2、研究 Inspector的问题
    3、跟webservice联系起来
    4、不停地完善 COM调用方式,使其更简单化。

    另外得把注册流程走通。

  • 相关阅读:
    webpack查缺补漏
    使用express、react、webpack打包、socket.io、mongodb、ant.design、less、es6实现聊天室
    理解restful 架构 && RESTful API设计指南
    socket.io
    数学图形(1.7)圆内旋轮线
    数学图形(1.6)抛物线
    数学图形(1.5)克莱线
    数学图形(1.4)心形线
    数学图形(1.3)旋轮线
    数学图形(1.2)Sin曲线
  • 原文地址:https://www.cnblogs.com/xiaotaoliang/p/164862.html
Copyright © 2011-2022 走看看