在Windows Mobile 6上通过CEMAPI 发送短信
来源:互联网 发布:虚拟淘宝店怎么开 编辑:程序博客网 时间:2024/05/17 06:00
在Windows Mobile 6上通过CEMAPI POOM发送短信
在Winodws Mobile上第三方软件一般是通过
1)调用SmsMessageSend API函数发送短信。
或者通过
2)CreateProcess或者ShellExecuteEx方式,调用命令(不含尖括号)
</windows/tmail.exe -service "SMS" -to "短信接收方号码" -body "短信内容">
下面的例子,就是调用Windows Mobile自带的短信程序(tmail.exe),编辑一条收件人为10086,短信内容为 CXYE,查询余额的短信。
/windows/tmail.exe -service "SMS" -to "10086" -body "KTIP1000"
最终效果如截图。
<Place Holder for SMS Send UI>
1)和2)这两种方法都有各自的优缺点。
第一种方法,短信发送成功后在微软自带的已发送邮件箱(Sent Items)中找不到已经发送的短信。发送失败也没有提示。当然可以自己硬行构造POOM的短信对象来实现这个不足。
第二种方法,就是通过tmail.exe -service "SMS" -to "" -body "" 的方法不能够自动发送短信,只是停留在编辑完成界面,还需要用户手动点击"发送"按钮,或者通过程序实现。
下面介绍一种方法既能够让已发短信出现在已发送邮件箱中,也能够将短信编辑完成后自动发送。
这就是通过CEMAPI来发送短信。这个在www.codeproject.com 上05年的一篇文章已经实现了。请原文请参考 http://www.codeproject.com/KB/mobile/SMS_CEMPI.aspx .
我使用和实践了这段代码,发现几个问题。
1)发送短信不成功后,短信会到草稿箱,但是点开改短信,再次发送时,就无法发送了。
<Place Holder for Screen shot>
此时,短信的内容放置到了主题(Subject)上,这和普通使用时候遇到的情况不一样,短信内容应该在正文(Body)中.
2)短信发送时候,需要设置一个参数,那就是本机号码。至于如何获得本机号码,是非常麻烦的。
3)此Sample是在EVC下编译的,而且缺少.rc2文件。虽然作者已经说明了如何解决。
但是我还是重新改写了以下,将所有的CComPtr<IMAPISession> 之类的定义改成了WM6上建议的IMAPISession
改正了 SendSMSMessage 函数的HRESULT 类型返回值 Return S_OK.
但是1)和2)的问题仍旧需要解决。
- 在Windows Mobile 6上通过CEMAPI 发送短信
- 【转】在Windows Mobile 6上通过CEMAPI 发送短信
- windows mobile上发送短信
- Windows mobile发送短信
- Windows Mobile 发送短信
- Windows Mobile 发送短信
- Windows Mobile 短信发送
- Windows Mobile 发送短信
- Windows mobile发送短信(二)
- 解决CEMAPI发送中文短信时会乱码
- 在电脑上使用AT命令通过手机发送短信
- 用C#实现Windows Mobile 发送短信
- [经验分享] windows mobile 发送短信总结
- 如何在Windows Phone 7上发送短信
- Mobile 发送短信
- Windows Mobile 定时发送数据库中的短信给部分人
- Windows mobile PPC,利用tmail.exe发送短信、彩信、邮件
- windows mobile 发送短信原理和实现demo
- Eclipse中JUnit使用基础
- Oracle rank() over 与 row_number() over
- 用getenv函数获取各种CGI环境变量
- windows下配置apache以运行CGI
- 【袁岳】啰嗦的杀伤力
- 在Windows Mobile 6上通过CEMAPI 发送短信
- PigYear病毒 代码 研究
- java对象的创建方式
- 震荡波病毒源代码
- include, extend, class_eval 用法
- 再谈外企是毒品——回复一位网友
- windows 注册表的五大根项解释
- 使用ODBC来完成多平台数据库操作
- miranda插件开发思想