当前位置:编程学习 > wap >>

请教高人 在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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,