SmsSendMessage发送短消息新问题
调用SmsSendMessage发送短消息时,SmsSendMessage返回值为S_OK,但是实际上接收号码没有接收到短消息?
其实我的需求就是:已知接收方号码(可能是多个)和短消息文本内容,然后显示ppc WM5.0上标准的短消息发送界面(并且把号码和内容填到对应的部分,当然用户可以在标准界面下修改短消息)。
1.如下代码问题出现在哪里?
2.那位大侠有其它方法实现我的需求?
HRESULT h;
SMS_HANDLE smsHandle = NULL;
//SMS_ADDRESS smsaSource;
SMS_ADDRESS smsaDestination;
SMS_MESSAGE_ID smsmidMessageID=0;
TEXT_PROVIDER_SPECIFIC_DATA tpsd;
h = SmsOpen( SMS_MSGTYPE_TEXT, SMS_MODE_SEND, &smsHandle, NULL );
if (FAILED(h))
{
MessageBox( _T( "Open Err" ), _T( "sendsms" ), MB_ICONINFORMATION );
return false;
}
smsaDestination.smsatAddressType = SMSAT_INTERNATIONAL;
_tcsncpy( smsaDestination.ptsAddress, _T( "13146524491" ), SMS_MAX_ADDRESS_LENGTH );
tpsd.dwMessageOptions = PS_MESSAGE_OPTION_NONE;
tpsd.psMessageClass = PS_MESSAGE_CLASS1;
tpsd.psReplaceOption = PSRO_NONE;
LPCTSTR lpszMessage = _T( "1111111" );
h= 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 );
if ( SUCCEEDED(h))
{
MessageBox( _T( "ok" ), _T( "sendsms" ), MB_ICONINFORMATION );
}
else
{
MessageBox( _T( "Fail" ), _T( "sendsms" ), MB_ICONINFORMATION );
}
SmsClose( smsHandle );