WEB开发网
开发学院手机开发Windows Mobile 开发 Windows Mobile 实现发送短信 阅读

Windows Mobile 实现发送短信

 2010-08-22 13:00:00 来源:WEB开发网   
核心提示:_tcslen(lpszMessage) * sizeof(TCHAR), (PBYTE) &tpsd,sizeof(TEXT_PROVIDER_SPECIFIC_DATA), SMSDE_OPTIMAL,SMS_OPTION_DELIVERY_NONE, &smsmidMessageID))){MessageBox(

_tcslen(lpszMessage) * sizeof(TCHAR), (PBYTE) &tpsd,

sizeof(TEXT_PROVIDER_SPECIFIC_DATA), SMSDE_OPTIMAL,

SMS_OPTION_DELIVERY_NONE, &smsmidMessageID)))

{

MessageBox(NULL,

(LPCTSTR)LoadString(ghInstance, IDS_SMSSENT, 0, 0),

(LPCTSTR)LoadString(ghInstance, IDS_CAPTION_SUCCESS, 0, 0),

MB_OK);

}

else

{

MessageBox(NULL,

(LPCTSTR)LoadString(ghInstance, IDS_ERROR_SMSSEND, 0, 0),

(LPCTSTR)LoadString(ghInstance, IDS_CAPTION_ERROR, 0, 0),

MB_OK | MB_ICONERROR);

}

// clean up

VERIFY(SUCCEEDED(SmsClose(smshHandle)));

}

这段代码在一般情况下是运行正确的,对于手机与手机的发送是不存在问题的,但是与SP的交互在某些省区就存在短信发送不出去的情况。

为了更好的理解这段代码,我们先来熟悉一下SmsSendMessage及各个参数。

SmsSendMessage

功能:Use the SmsSendMessage function to create and send an Short Message Service (SMS) message.(创建和发送短信,但短信发送后并不保存到发件箱中)

原型:

HRESULT SmsSendMessage (

const SMS_HANDLE smshHandle, // 调用SmsOpen时获得的短信句柄

const SMS_ADDRESS * const psmsaSMSCAddress, //指向短信中心号码的地址

const SMS_ADDRESS * const psmsaDestinationAddress, // 发送的目的地址

const SYSTEMTIME * const pstValidityPeriod, // 发送时间的有效期

const BYTE * const pbData, // 信息的内容部分

const DWORD dwDataSize,// 信息内容的长度

const BYTE * const pbProviderSpecificData, //运营商的附加数据

const DWORD dwProviderSpecificDataSize, // 附加数据的长度

const SMS_DATA_ENCODING smsdeDataEncoding, // 短信编码

const DWORD dwOptions, // 其他选项

SMS_MESSAGE_ID * psmsmidMessageID); // 用于得到系统回执的信息

(具体介绍可查看http://msdn.microsoft.com/en-us/library/aa455068.aspx)

上一页  1 2 3 4  下一页

Tags:Windows Mobile 实现

编辑录入:coldstar [复制链接] [打 印]
赞助商链接