windows moblie 5.0在托管程序中实现短信接收和拦截

曾经尝试只用.net cf 在手机(windows moblie 5.0)中实现短信的接收,而同时拦截手机本身的短信提示,代码如下:

private void Form1_Load(object sender, EventArgs e) {

interceptor = new MessageInterceptor(); interceptor.InterceptionAction = InterceptionAction.NotifyAndDelete; interceptor.MessageReceived += new MessageInterceptorEventHandler(interceptor_MessageReceived); }

void interceptor_MessageReceived(object sender, MessageInterceptorEventArgs e) { SmsMessage msg = e.Message as SmsMessage; this.txtMessage.Text =”发件人:”+msg.From.Address +”,内容:” +msg.Body +”时间:”+msg.Received.ToString(“yyyy年MM月dd日 MM时mm分ss秒”)

}

上述程序是通过在窗体加载时委托一个拦截短信事件,虽然实现我想要的功能,但有个确定,当应用程序不处于被激活的状态,就无效了。后来在ms的网站上找到一份资料:Receiving SMS Messages Inside a Managed Application,可以来实现我想要的这个功能,原理简单来说是修改手机的注册表,手机短信程序启动后加载dll文件,把拦截规则注入,然后通过.net cf 程序来获得拦截的短信。本质上说,不是“拦截”,只是把短信直接删除到“废件箱”,仿佛“拦截”了 实现条件:

1、安装Windows Mobile 5.0 Pocket PC SDK

2、 开发工具 vs2005

3、安装实例程序:http://www.microsoft.com/downloads/details.aspx?FamilyId=98CCF3D4-DB7C-4A7D-A323-53BBDBBE0420&displaylang=en

方法:

1、用vs ++ 2005 打开实例程序中的Mapirule(在D:\Program Files\.NET Compact Framework Samples\Receiving SMS Messages\Code\Mapirule中,假定你的安装目录是D:\Program Files),在这个提供的c++中只实现了“短信内容中”包含“zzz”字符的短信拦截,我修改了一下,可以实现对所有短信的拦截: 源代码 :mapirule.cpp

不过要这个c++的项目编译通过,并生成一个setup文件,还必须安装一个微软提供的一个证书文件,在

安装Windows Mobile 5.0 Pocket PC SDK后会在D:\Program Files\Windows CE Tools\wce500\Windows

Mobile 5.0 Pocket PC SDK\Tools 下有个SDKSamplePrivDeveloper.pfx,直接双击安装,安装过程很简

单(安装过程中有个提示需要输入密码,不必理会,直接点下一步就可以了),这个证书是ms对开发者

用作测试用的,有效期到2009年。编译通过后,在手机上运行setup.exe文件,安装完成后注意一定要重

启手机。

2.编写net cf程序 :参考(D:\Program Files\.NET Compact Framework Samples\Receiving SMS

Messages\Code\CaptureSMS) 源文件:SMSListener.cs 源文件:frmHProcess.cs

上述程序,改造一下,可以拦截垃圾短信 环境:在vs2005+windows mobile 5.0 +多普达818测试通过。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逍遥剑客的游戏开发

C#脚本实践(一)

1064
来自专栏一个会写诗的程序员的博客

《Springboot极简教程》SpringBoot plus Mongodb开发企业级restfeel接口测试平台RESTFeel功能简介:MongoDB configuration:Buildin

The build file is configured to download and use an embedded Tomcat server. So t...

683
来自专栏Coding01

推荐一款 phpcs 插件规范 Laravel 代码 (规范从本地写代码到版本控制)

我相信每个公司都有一套完备的代码规范标准,但标准是标准,如何能有效的让所有人遵守,那就要工具的辅助和实时提醒了。

644
来自专栏张善友的专栏

使用 WMI 进行诊断WCF

WMI 是基于 Web 的企业管理 (WBEM) 标准的 Microsoft 实现,WCF 公开服务的属性,如地址、绑定、行为和侦听器。您可以在应用程序的配置文...

1698
来自专栏finleyMa

开发了一款chrome扩展程序

当打开游记页面 比如 如果检测到有背景音乐, 会弹出包含歌曲信息的chrome桌面提醒,同时鼠标菜单右键有下载歌曲的选项。

702
来自专栏CRPER折腾记

Vue 折腾记 - (11) @Vue/Cli 3.0.0 图形化项目管理,相当人性化

点击顶部tab的Create进入初始化界面, 点击Create a new project here进入新项目初始化

832
来自专栏大内老A

深入剖析ASP.NET的编译原理之二:预编译(Precompilation)

在本篇文章的第一部分:深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation),详细讨论了ASP.NET如何进行动态编译的,...

1966
来自专栏京东技术

你们要的Intellij IDEA 插件开发秘籍,来了!

王昭霞,软件开发工程师,先后从事脚本工具编写、工具开发、Android基础模块开发等工作。

1153
来自专栏伪君子的梦呓

ScreenToGif --好用的gif录屏/剪辑软件

引言 遇到想向别人展示一下神操作,或者想向让别人看一下某些效果时,一张图片说不清,弄个视频又太麻烦,这可怎么好呢?其实一个ScreenToGif就可以解决了。 ...

2805
来自专栏菩提树下的杨过

Silverlight/aspx/ajax/mvc的UI自动化测试

web前端的自动化测试,一般要能实现模拟鼠标点击、键盘录入、浏览器页面自动导航等功能,而且关键的是要对整个测试过程能自动录制并回放。 vs2010的SP2已经集...

19610

扫码关注云+社区