好长时间没有更新BLOG了,
发现得记录点东西,今天开始吧,先记载一小段
/WINCE可用的发送短信代码,魅族M8测试成功
- /************************************
- * 调用范例:
- * SendSMS(_T("+8613xxxxxxxxx"),_T("测试~"));
- *
- * Author:LOJA
- * Version: 1.0.1.0
- * Date: 2009/07/30
- *
- * Smartphone Platforms: Smartphone 2002 and later
- * OS Versions: Windows CE 3.0 and later
- *
- *************************************/
- #include <sms.h>
- #pragma comment(lib,"sms.lib")
- bool SendSMS(IN LPCTSTR lpNumber,IN LPCTSTR lpszMessage)
- {
- HRESULT hRes;
- SMS_HANDLE smsHandle=NULL;
- SMS_ADDRESS smsaDestination;
- SMS_MESSAGE_ID smsmidMessageID=0;
- TEXT_PROVIDER_SPECIFIC_DATA tpsd;
- hRes=SmsOpen(SMS_MSGTYPE_TEXT,SMS_MODE_SEND,&smsHandle,NULL);
- if (FAILED(hRes))
- {
- return false;
- }
- //地址方式注意国内号码前加"+86"
- smsaDestination.smsatAddressType = SMSAT_INTERNATIONAL;
- _tcsncpy(smsaDestination.ptsAddress, lpNumber,SMS_MAX_ADDRESS_LENGTH);
- tpsd.dwMessageOptions = PS_MESSAGE_OPTION_NONE;
- //tpsd.dwMessageOptions = PS_MESSAGE_OPTION_STATUSREPORT;//表示需要状态报告
- tpsd.psMessageClass = PS_MESSAGE_CLASS1;
- //PS_MESSAGE_CLASS0表示短信在被接收后立即显示且不存储在收件箱(称为闪信)
- //PS_MESSAGE_CLASS1表示一般的情况,被接收后存储到收件箱并发送一个确认回短信中心,发送方收到一个已被接收的状态报告。
- ZeroMemory(tpsd.pbHeaderData, sizeof(tpsd.pbHeaderData));
- tpsd.dwHeaderDataSize = 0;
- tpsd.fMessageContainsEMSHeaders = FALSE;
- tpsd.dwProtocolID = SMS_MSGPROTOCOL_UNKNOWN;
- tpsd.psReplaceOption = PSRO_NONE;
- hRes= SmsSendMessage(smsHandle,
- NULL,
- &smsaDestination,
- NULL,
- (PBYTE)lpszMessage,
- _tcslen(lpszMessage) * sizeof(TCHAR),
- (PBYTE)&tpsd,
- sizeof(TEXT_PROVIDER_SPECIFIC_DATA),
- SMSDE_OPTIMAL,
- SMS_OPTION_DELIVERY_NONE,
- &smsmidMessageID);
- SmsClose(smsHandle);
- if (SUCCEEDED(hRes))
- {
- return true;
- }
- else
- {
- return false;
- }
- }