好長時間沒有更新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;
- }
- }