首先感谢在这方面研究过的前辈们!
express 和 outlook都能读
cpp前面要声明
#pragma link "outlook_2k_srvr"
#pragma link "ivdictio"
#pragma link "ivmulti"
typedef hresult (winapi *fwabopen)(lpadrbook*,lpwabobject*,lpwab_param,dword);
用了bcb的outlook控件的
代码
try{
formlist->listview1->clear();
_applicationptr papp;
_namespace* pns;
addresslists* paddr;
addressentries * paddrentries;
addressentry* pentry;
addresslist* plist;
int count,count1;
papp = this->outlookapplication1->get_application();
pns = papp->getnamespace(widestring("mapi"));
paddr = pns->addresslists;
count = paddr->count;
widestring email;
email.setlength(128);
//emailname.setlength(128);
for(int i = 1;i <= count;i++)
{
plist = paddr->item(tvariant(i));
paddrentries = plist->get_addressentries();
count1 = paddrentries->count;
for(int j = 1;j <= count1;j++)
{
pentry = paddrentries->item(tvariant(j));
//pentry->get_name(&emailname);
pentry->get_address(&email);
//this->memo1->lines->add(ansistring(emailname.c_bstr()) + "\t" + ansistring(email.c_bstr()));
tlistitem * listitem;
listitem = formlist->listview1->items->add();
listitem->caption = "";