|
void __fastcall TProtocolWinCE::DumpPhoneContact()
{
m_progress->OnShowMessage("读取手机通讯录...");
IRAPIStream *pStream;
DWORD dwOut;
BYTE* pOut;
if(CeRapiInvoke(L"\\Windows\\smext.dll",L"GetPhoneContacts",0,NULL,
&dwOut,NULL,&pStream,0) == S_OK)
{
CONTACT* contact;
DWORD dwRead;
contact = new CONTACT();
pStream->Read(contact,SIZE_CONTACT,&dwRead);
//失败
if(!wcscmp(L"___END",contact->Number))
{
delete contact;
return;
}
if(!wcscmp(L"___MAX",contact->Number))
{
m_progress->OnStart(AnsiString(contact->FirstName).ToInt());
}
delete contact;
PhoneBook* book;
while(true)
{
contact = new CONTACT();
pStream->Read(contact,SIZE_CONTACT,&dwRead);
if(!wcscmp(L"___END",contact->Number))
{
delete contact;
break;
}
if(contact != NULL)
{
book = new PhoneBook();
book->Name = contact->LastName;
book->Name += contact->FirstName;
book->Name += contact->MiddleName;
book->Number = contact->Number;
book->Home = contact->HomeNumber;
book->Office = contact->BusinessNumber;
book->EMail = contact->Email;
m_data->MePhonebook->Add(book);
delete contact;
contact = NULL;
}
m_progress->OnSetp();
}
}
}
每次都调用不起来,我及其的确定有这个DLL文件。
DLL文件是自己写的,不是手机原有的。
手机是多普达P800,手机操作系统是WM6.5的。
请各位大侠不吝赐教啊。
|
|