用了HellpSms的例子,发了短信,用的中文编码是unicode,但是收到的是乱码,请问有没有人遇到过? 谢谢.
SMS_HANDLE smshHandle;
SMS_ADDRESS smsaSource;
SMS_ADDRESS smsaDestination;
TEXT_PROVIDER_SPECIFIC_DATA tpsd;
SMS_MESSAGE_ID smsmidMessageID;
// try to open an SMS Handle
if (FAILED(SmsOpen(SMS_MSGTYPE_TEXT, SMS_MODE_SEND, &smshHandle, NULL)))
{
return FALSE;
}
// Create the source address
if ( ! bUseDefaultSMSC)
{
smsaSource.smsatAddressType = SMSAT_INTERNATIONAL;
_tcsncpy(smsaSource.ptsAddress, lpszSMSC, SMS_MAX_ADDRESS_LENGTH);
}
// Create the destination address
smsaDestination.smsatAddressType = SMSAT_INTERNATIONAL;
_tcsncpy(smsaDestination.ptsAddress, lpszRecipient, SMS_MAX_ADDRESS_LENGTH);
// Set up provider specific data
memset( & tpsd, 0 , sizeof (tpsd));
tpsd.dwMessageOptions = bSendConfirmation ? PS_MESSAGE_OPTION_STATUSREPORT : PS_MESSAGE_OPTION_NONE;
tpsd.psMessageClass = PS_MESSAGE_CLASS1;
tpsd.psReplaceOption = PSRO_NONE;
tpsd.dwHeaderDataSize = 0 ;
// Send the message, indicating success or failure
if (SUCCEEDED(SmsSendMessage(smshHandle, ((bUseDefaultSMSC) ? NULL : & smsaSource),
& smsaDestination, NULL, (PBYTE) lpszMessage,
_tcslen(lpszMessage) * sizeof (TCHAR), (PBYTE) & tpsd,
sizeof (TEXT_PROVIDER_SPECIFIC_DATA), SMSDE_OPTIMAL,
SMS_OPTION_DELIVERY_NONE, & smsmidMessageID)))
{
}
else
{
VERIFY(SUCCEEDED(SmsClose(smshHandle)));
return FALSE;
}
// clean up
VERIFY(SUCCEEDED(SmsClose(smshHandle)));
SMS_HANDLE smshHandle;
SMS_ADDRESS smsaSource;
SMS_ADDRESS smsaDestination;
TEXT_PROVIDER_SPECIFIC_DATA tpsd;
SMS_MESSAGE_ID smsmidMessageID;
// try to open an SMS Handle
if (FAILED(SmsOpen(SMS_MSGTYPE_TEXT, SMS_MODE_SEND, &smshHandle, NULL)))
{
return FALSE;
}
// Create the source address
if ( ! bUseDefaultSMSC)
{
smsaSource.smsatAddressType = SMSAT_INTERNATIONAL;
_tcsncpy(smsaSource.ptsAddress, lpszSMSC, SMS_MAX_ADDRESS_LENGTH);
}
// Create the destination address
smsaDestination.smsatAddressType = SMSAT_INTERNATIONAL;
_tcsncpy(smsaDestination.ptsAddress, lpszRecipient, SMS_MAX_ADDRESS_LENGTH);
// Set up provider specific data
memset( & tpsd, 0 , sizeof (tpsd));
tpsd.dwMessageOptions = bSendConfirmation ? PS_MESSAGE_OPTION_STATUSREPORT : PS_MESSAGE_OPTION_NONE;
tpsd.psMessageClass = PS_MESSAGE_CLASS1;
tpsd.psReplaceOption = PSRO_NONE;
tpsd.dwHeaderDataSize = 0 ;
// Send the message, indicating success or failure
if (SUCCEEDED(SmsSendMessage(smshHandle, ((bUseDefaultSMSC) ? NULL : & smsaSource),
& smsaDestination, NULL, (PBYTE) lpszMessage,
_tcslen(lpszMessage) * sizeof (TCHAR), (PBYTE) & tpsd,
sizeof (TEXT_PROVIDER_SPECIFIC_DATA), SMSDE_OPTIMAL,
SMS_OPTION_DELIVERY_NONE, & smsmidMessageID)))
{
}
else
{
VERIFY(SUCCEEDED(SmsClose(smshHandle)));
return FALSE;
}
// clean up
VERIFY(SUCCEEDED(SmsClose(smshHandle)));