一.说明
其实很简单,Pocket PC中关于操作SIM中联系人与短信的函数都在头文件simmgr.h中,它需要一个库CellCore.lib.只要看一下头文件就
应该知道怎么写了,这里我只是说明怎样读取SIM中联系人的信息,其他的如删除/添加等道理相同.
二.实现
首先,需要调用SimInitialize 进行初始化一下,然后通过函数SimGetPhonebookStatus来获取总记录数,最后我们就可以通过函数
SimReadPhonebookEntry来依次读取每条记录了,最后别忘记了回收资源SimDeinitialize.
代码如下:
void GetSimPhoneName()
{
HSIM lphSim;
HRESULT hr = SimInitialize(0,NULL,0,&lphSim);
if(FAILED(hr))
{
AfxMessageBox(L"failed");
}
//SIM_PBSTORAGE_SIM
//获取总共使用的多少条记录与总共可以容纳的记录条数
DWORD dwUsed,dwTotal;
hr = SimGetPhonebookStatus(lphSim,SIM_PBSTORAGE_SIM,&dwUsed,&dwTotal);
//对结构初始话以下
SIMPHONEBOOKENTRY phoneent;
memset(&phoneent,0,sizeof(phoneent));
phoneent.cbSize = sizeof(phoneent);
CString str;
//可以依次获取每个电话号码
for(int i=0;i<dwUsed;i++)
{
SimReadPhonebookEntry(lphSim,SIM_PBSTORAGE_SIM,i+1,&phoneent);
str = phoneent.lpszAddress; //电话号码
str += phoneent.lpszText; //姓名
}
//最后别忘了清理
SimDeinitialize(lphSim);
}