摘要:
多线程安全的单例模式:CSingletion*CSingletion::ms_Instance=NULL;CSingletion *CSingleton::GetInstatce(){ if(ms_Instance==NULL) { Lock(); if(ms_Instance==NULL) {ms_Instance=new CSingletion(); } Unlock(); } return ms_Instance;}Lock()下的第二个if是必要的,考虑当第一次调用时,第一个if成立,加锁后,第二个if也成立,开始准备执行new,这是第二次调用开始,由于new还没做,因此第二次调用也能 阅读全文
摘要:
利用RIL代理接口实现短信的操作之短信的接收 作者:吴春雷QQ:819543772Email:wuchunlei@163.com提到在Windows Mobile客户端对短信进行操作,几乎所有人都会在第一时间想起CEMAPI接口,诚然cemapi接口是目前为止使用最多,也是最为成熟的技术,利用Cemapi接口可以很方便的实现短信的发送、接收、删除等相关操作,而无需关注繁琐的编码解码问题,但Cemapi也有自己的缺点,比如cemapi中接口完全基于tmail实现,短信截获、发送、到达通知等操作最终也是由tmail来实现的,这就意味着,程序中短信操作的模块需要完全依赖于tmail的执行状态,例如, 阅读全文
摘要:
Cempi实战攻略(六)——如何截获到达的短消息By 吴春雷QQ:819543772EMAIL:wuchunlei@163.com1. MapiRule是什么?我从哪里能够得到它?MapiRule是微软提供的用于演示短信拦截技术的DEMO程序,程序展示了使用COM技术为tmail.exe注册服务,实现客户端短信拦截的基本方法。您可以再SDK的安装目录中找到它,如果您使用的是PPC2003的SDK,MapiRule程序可以在下面的目录找到:C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Samples\Win32\mapiRule 阅读全文
摘要:
CEMAPI实战攻略(四)——发送短消息By 吴春雷QQ:819543772EMail:wuchunlei@163.com四.发送短消息发送短信是一个相对比较简单的过程,之所以拿出来一节来讨论,是因为我们不仅仅要讨论如何发送短信,还要讨论一个重要的进程,也就是tmail.exe进程。简单的讲,这个进程在后台控制着短信和邮件的接收和发送过程,在前台提供一个显示UI,供大家对短信进行操作。本文短信发送部分,就是利用tmail的短信发送功能实现的,不需要直接使用AT命令,这使得我们发送短信部分的代码变得异常简单。1. tmail.exe进程a) 什么是tmail.exe进程tmail.exe是微软处 阅读全文
摘要:
CEMAPI实战攻略(三)——操作信箱中的短信息(下)By 吴春雷QQ:819543772Email:wuchunlei@163.com6. 解析原始短消息 当成功获取原始信息以后,还不能从中直接获得短信正文等我们想要的内容,要想得到这些内容,还需要对原始信息作一些操作。还记得我们前面提过的短消息的组成结构吗?下面的内容从原始短信中获取每个结构中的内容。a) 获取正文前面提到了Subject和body的关系,在发送短信的时候,Subject的内容后面加上一个\n,在加上body中的内容作为一条短信的正文。但奇怪的是,使用cemapi获取短信正文的时候不能使用PR_BODY属性,而需要获得PR_ 阅读全文
摘要:
CEMAPI实战攻略(三)——操作信箱中的短信息(上)by 吴春雷QQ:819543772Email:wuchunlei@163.com三.操作信箱中的短信息1. Windows mobile中短消息的组成用过的Windows Mobile平台设备的朋友在第一次发送的短信的时候或多或少都会有些困惑,尤其是使用Windows Mobile 2003以前版本的朋友,发短信的UI上不但有填写目的号码和正文的地方,还有填写主题,CC甚至BCC的位置,搞得用户不知如何是好。为什么会有这些内容前面实际上已经提到过了。WM系统中邮件和短消息属于一个系统,微软为了开发方便将二者使用了相同的架构和接口,因此才会 阅读全文
摘要:
CEMAPI实战攻略by 吴春雷QQ:819543772Email:wuchunlei@163.com二.建立与短信信箱的连接上一部分已经讨论过,如何搭建开发和测试环境,以及如何初始化CEMAPI,再继续这一部分的讨论之前,我们先要澄清几个概念。第一个是会话(Seesion),相信开发网络应用的朋友都不陌生,为了提高通讯效率降低通讯开销,有时候我们需要再目标与本地之间创建一个通道,在通道创建之初,目标与本地先做一些列的响应和请求确认两边的身份,当通道建立以后,目标与本地之间的通讯过程中就不再涉及两边的身份确认,这通常目标与本地之间的建立的通道,通常被称作会话,也就是Session。在使用Cem 阅读全文
摘要:
CEMAPI实战攻略(一)By 吴春雷QQ:819543772EMAIL:wuchunlei@163.com一.准备工作1. 开发环境和设备平台a) 下载和安装微软已经发布了Windows Mobile 6.0 SDK和中文版的仿真器已,WM6.0的SDK和仿真器分成了标准版和专业版两个版本,由于两个版本都可以支持cemapi.lib,因此我们可以选用其中任意一个版本作为我们的开发平台。本文选择了WM6.0 SDK Professional和WM6.0 中文版仿真器,下载地址如下:Windows Mobile 6.0 SDK professional:http://download.micro 阅读全文
摘要:
Cemapi实战攻略——提纲by 吴春雷QQ:819543772EMail:wuchunlei@163.com写在前面的话: 最近正在搞基于Windows Moblie 5.0平台的手机应用程序的开发,其中用到了Cemapi库来开发短信相关应用的模块。由于以前一直在搞业务逻辑方面的开发,因此对cemapi了解的比较少。再开发的过程中,不可避免的遇到了一些问题,也到网上查阅了大量的资料,我惊讶的发现,对于这样一个已经相对成熟的技术,介绍的资料却是那么的稀少和不系统,除了两年前无聊客的《CEmapi 短信开发实例讲解》这篇文章以外,几乎找不到一篇相对系统的介绍cemapi这个库的使用方法的文章。从 阅读全文
摘要:
smartphone模拟器是有号码的,向这个号码发送短信或拨打电话,本机就会收到相应的信息或电话,原文如下:When you're writing an application working in the emulator, you can send yourself an SMS. This will be really useful for testing applications that intercept text messages. From the emulator, send a message to +14250010001. You have to use the ima 阅读全文