请教高人 在windows mobile写短信的问题
最近在研究windows mobile短信编程,碰到一个奇怪问题。我往mobile收件箱中写短信,发现同时也会向outlook邮件收件箱写入一条信息,其他信箱也是类似。我想问一下,有没有人碰到我这个问题,怎么解决?
--------------------编程问答--------------------
你把你写短信,接受短信的代码?贴上才好分析啊?
--------------------编程问答--------------------
下面是我的代码,pSubFolder是IMAPIFolder *类型指针,指向收件箱,
IMessage *pNewmessage;
pSubFolder->CreateMessage(NULL,0,&pNewmessage);
SPropValue propRecipient[3];
ZeroMemory(&propRecipient, sizeof(propRecipient));
propRecipient[0].ulPropTag = PR_RECIPIENT_TYPE; //接收人类型
propRecipient[0].Value.l = MAPI_TO;
propRecipient[1].ulPropTag = PR_ADDRTYPE; //地址类型
propRecipient[1].Value.lpszW = _T("SMS"); //短信
propRecipient[2].ulPropTag = PR_EMAIL_ADDRESS;//地址
propRecipient[2].Value.lpszW = _T("13912345678"); //设置接收者号码
ADRLIST adrlist;
adrlist.cEntries = 1;
adrlist.aEntries[0].cValues = 3;//表示设置了三个SPropValue属性
adrlist.aEntries[0].rgPropVals = (LPSPropValue)(&propRecipient);
hr = pNewmessage->ModifyRecipients(MODRECIP_ADD, &adrlist);
if (FAILED(hr))
{
//异常处理
}
MAPINAMEID idName;
ZeroMemory(&idName, sizeof(MAPINAMEID));
GUID PS_MAPI={0x00020328,0,0,0xC0,0,0,0,0,0,0,0x46};
idName.lpguid = (LPGUID)&PS_MAPI;
idName.ulKind = MNID_STRING;
idName.Kind.lpwstrName = L"SMS:Unicode";
LPMAPINAMEID pidName = &idName;
LPSPropTagArray pPropTag = NULL;
hr = pNewmessage->GetIDsFromNames(1, &pidName, MAPI_CREATE, &pPropTag);
CString strBody=_T("testsms");
CString strFrom=_T("14254448851");
//设置短信属性
SPropValue props[7];
ZeroMemory(&props, sizeof(props));
props[0].ulPropTag = PR_MESSAGE_CLASS; // (1)设置显示窗体类型为“短信”
props[0].Value.lpszW = TEXT("IPM.SMStext");
props[1].ulPropTag = PR_SUBJECT; // (2)设置正文
props[1].Value.lpszW = (LPWSTR)strBody.GetBuffer();
props[2].ulPropTag = PR_SENDER_EMAIL_ADDRESS;
props[2].Value.lpszW = (LPWSTR)strFrom.GetBuffer(); // (3)设置发送号码
props[3].ulPropTag = PR_MSG_STATUS; //(4)标志设置信息类型
props[3].Value.ul = MSGSTATUS_RECTYPE_SMS; //(5)设置具体类型
props[4].ulPropTag = PR_MESSAGE_FLAGS;
props[4].Value.ul = 0;
props[5].ulPropTag = CHANGE_PROP_TYPE(pPropTag[0].aulPropTag[0], PT_BOOLEAN); //设置UNICODE属性,前面用GetIDsFromNames方法获取的
props[5].Value.b = TRUE;
//设置日期
SYSTEMTIME st;
FILETIME ft;
GetSystemTime(&st);
SystemTimeToFileTime(&st,&ft);
props[6].ulPropTag = PR_MESSAGE_DELIVERY_TIME; //(8)设置建立时间
props[6].Value.ft=ft;
props[6].Value.b = TRUE;
hr = pNewmessage->SetProps(sizeof(props) / sizeof(props[0]), (LPSPropValue)&props, NULL);//(9)设置属性
if (FAILED(hr))
{
//异常处理
}
pNewmessage->SaveChanges(FORCE_SAVE);
--------------------编程问答--------------------
--------------------编程问答--------------------
--------------------编程问答--------------------
--------------------编程问答--------------------
--------------------编程问答--------------------
--------------------编程问答--------------------
mark 下班了,明天再看看
--------------------编程问答--------------------
ID不唯一
补充:移动开发 , Windows Phone