如何利用MAPI发送中文短信

bjyjy 2005-08-09 08:57:21
小弟现在在Magneto的平台上做短信发送程序,利用MAPI函数来实现.
在发送中文短信时,接收到的短信中文都显示为'?',不能正常显示,
但在 '已发送备份' 中显示正常. 发送英文短信能显示正常.

偶已经将 '讯息中文'-->'选项' 的 '必要时使用Unicode' 选中,但还是出现
上面的情况,偶找了一下MSDN,好象没有哪个属性设置'Unicode'.

主要代码如下:

rgprops[cProps].ulPropTag = PR_MESSAGE_FLAGS;
rgprops[cProps].Value.ul = MSGFLAG_FROMME | MSGFLAG_UNSENT;
++cProps;

rgprops[cProps].ulPropTag = PR_MSG_STATUS;
rgprops[cProps].Value.ul = MSGSTATUS_RECTYPE_SMS;
++cProps;

if (pszSubject != NULL)
{
rgprops[cProps].ulPropTag = PR_SUBJECT_W;
rgprops[cProps].Value.lpszW = pszSubject;
++cProps;
}

hr = pmsg->SetProps( cProps, // count of property
rgprops, // an array of property
NULL );
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
无聊客 2005-08-11
  • 打赏
  • 举报
回复
一般来说应该是UTF8编码
无聊客 2005-08-11
  • 打赏
  • 举报
回复
通过folder可以拿到contenttable,再遍历一把table就可以拿到message
无聊客 2005-08-10
  • 打赏
  • 举报
回复
你可以用系统自带的INBOX创建一条中文短消息,发出去看有没有问题,如果没有问题,再把那条短消息取出来看看他是怎么设置的
bjyjy 2005-08-10
  • 打赏
  • 举报
回复
你可以用系统自带的INBOX创建一条中文短消息,发出去没有问题.
但如果'讯息中文'-->'选项' 的 '必要时使用Unicode' 没有被选中,则发送出去中文也是为'?'.

可见,偶的发送程序中没有设置为Unicode,但偶查找了MSDN中关于MAPI所有的属性,没有找到关于
发送文本编码方式的设置,而且很多属性值MSDN里也都没有说明.

另外: 偶也不知道如何打开一个Inbox里面的message.相关的接口:IMAPIFolder IMessage 只有OpenEntry()方法可以打开,但需要一个message的ENTRYID,不知道如何获取.现在已经可以打开一个
Folder.

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧