- 浏览: 114427 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (135)
- java (135)
- [转]c# 画圆角矩形 (1)
- 设计模式生活实例 (1)
- .nET2.0小技巧 (1)
- 从另一个角度看敏捷实践(一)--IPM:承诺的仪式 (1)
- javascript字符串转json对象 (1)
- 使用BeanUtils时,Date类型值为空的解决方法 (1)
- Lenovo V460+Ubuntu 11.10 无线网问题 (1)
- Lucene 索引和搜索过程核心类详解 (1)
- Android短信编解码方式 (1)
- 股神巴菲特十大致富秘籍 (1)
- Map遍历的三种方法 (1)
- Android中用Toast.cancel()方法优化toast内容的显示 (1)
- ViewFlipper “Receiver not registered” Error (1)
- javax.xml.transform.TransformerFactoryConfigurationError (1)
- JNI调用的注意事项 (1)
- JUnit单元测试感悟 (1)
- 用C#写定时关机的程序 (1)
- ASP.NET开发工具Web Matrix介绍 (1)
- MapXtreme2004代码 MapControl控件中显示地图文件 (1)
- 《使用 Microsoft .NET 的企业解决方案模式》读书笔记3 (1)
- 微创短信开发平台 (1)
- 谈谈Q+平台的技术实现 (1)
- 手机防盗软件实现(源码) (1)
- 虚析构函数(总结 帖子) (1)
- c语言中去除const修饰 (1)
- ORA-01012: not logged on 解决办法 (1)
- paypal提现如何省钱 (1)
- 数独suduku (1)
- MyISAM InnoDB 区别 (1)
- 随 笔 (1)
- Android上的log,日志相关 (1)
- 百度质量部实习居然通过了~ (1)
最新评论
-
野狐禅:
ext.get('imagebrowse') is null
ExtJs上传图片预览功能 -
zhuyl_wind:
不切实际,呵呵
[]5年内买车买房-理财篇 -
in南京:
关键你那两千块钱就够交一个多月的房租!换个城市你那六百也远远不 ...
[]5年内买车买房-理财篇 -
javac_xinyun:
呵呵,看完了,确实不错,貌似第一年的房租每月算进去 ,人际关系 ...
[]5年内买车买房-理财篇 -
dishikun:
貌似很不错,就是没把房租算进去!
[]5年内买车买房-理财篇
<a href="http://blog.csdn.net/xiaoxiao108/archive/2011/04/01/6294067.aspx"></a>
前段时间母亲手机遭贼了,以防万一,如果自己手机丢了,肯定会更郁闷,记得很多手机有防盗功能,如果更换了sim卡就会,手机就会自动把新的
sim卡手机号,gps坐标,什么的发送到绑定的手机上。网上查了下资料,这类这类软件也挺多的。看了看功能也不是很复杂,就自己写了个玩玩
。
开发环境 vs2008 wm6 .net cf 3.5
实现方法很简单<br>
1.每一个sim都有唯一的一个IMSI编号,可以根据IMSI编号来判断手机是否更换sim卡<br>
2.如果检测到IMSI不是自己的sim卡的,可以确定其他人可能在用你的手机。<br>
3.每次开机程序自动运行,检测到别人如果使用你的手机,自动把他的通话记录,跟gps坐标发送到绑定好的手机号上。<br>
4.知道用你手机人的手机号,最近通话记录,gps坐标后,再自己想办法找到这人吧。
具体代码<br>
1.取sim卡IMSI编号<br>
使用 TapiLib.dll类库中的ControlTapi.GetIMSINumber()取到sim卡imsi编号<br>
2.判断是不是自己的sim卡<br>
string simStr=ControlTapi.GetIMSINumber();<br>
if (simStr.Length != 0)<br>
{<br>
if (simStr != SIM)<br>
{<br>
其中SIM为事先取好的自己手机卡的IMSI编号
3.取最近通话记录代码<br>
[StructLayout(LayoutKind.Sequential)]<br>
public struct CALLLOGENTRY<br>
{<br>
public UInt32 cbSize;<br>
public UInt64 ftStartTime;<br>
public UInt64 ftEndTime;<br>
public short iom;
public bool fOutgoing;<br>
public bool fConnected;<br>
public bool fEnded;
public bool fRoam;<br>
public short cidt;<br>
public IntPtr pszNumber;<br>
public IntPtr pszName;<br>
public IntPtr pszNameType;<br>
public IntPtr pszNote;<br>
};<br>
[DllImport("phone.dll", EntryPoint = "PhoneOpenCallLog", SetLastError = true)] //首先要PhoneOpenCallLog打开通话记录句柄<br>
private static extern int PhoneOpenCallLog(ref IntPtr pHandle);
<br>
[DllImport("phone.dll", EntryPoint = "PhoneCloseCallLog", SetLastError = true)] //要调用PhoneCloseCallLog关闭句柄<br>
private static extern int PhoneCloseCallLog(IntPtr pHandle);
<br>
[DllImport("phone.dll", EntryPoint = "PhoneGetCallLogEntry", SetLastError = true)]<br>
private static extern int PhoneGetCallLogEntry(IntPtr pHandke, ref CALLLOGENTRY pEntry);<br>
//用PhoneGetCallLogEntry方法会返回一个通话记录结构,在该结构中,包含号码、姓名、通话开始时间、通话结束时间等信息。
<br>
private string GetLog()<br>
{<br>
string CallInfo = "";
try<br>
{<br>
IntPtr handle = IntPtr.Zero; //句柄
CALLLOGENTRY entry = new CALLLOGENTRY();<br>
PhoneOpenCallLog(ref handle); //首先要PhoneOpenCallLog打开通话记录句柄<br>
entry.cbSize = (uint)Marshal.SizeOf(entry); //返回类的非托管大小
if (handle != IntPtr.Zero)<br>
{<br>
while (PhoneGetCallLogEntry(handle, ref entry) == 0) //获取通话记录<br>
{ //Marshal.PtrToStringUni 复制指定数目的字符<br>
string phoneNumber = Marshal.PtrToStringUni(entry.pszNumber); //号码<br>
string name = Marshal.PtrToStringUni(entry.pszName); //姓名
if (phoneNumber == null)<br>
{<br>
phoneNumber = string.Empty;<br>
}
if (name == null)<br>
{<br>
name = string.Empty;<br>
}
string temp = (phoneNumber.Trim() + name.Trim());<br>
CallInfo = CallInfo + temp;<br>
}<br>
PhoneCloseCallLog(handle);
if (CallInfo.Length < 140)<br>
{<br>
return CallInfo;<br>
}<br>
else<br>
{<br>
return CallInfo.Substring(0,140);<br>
}<br>
}<br>
else<br>
{<br>
int error = Marshal.GetLastWin32Error();<br>
return "";<br>
}<br>
}<br>
catch (Exception ep)<br>
{<br>
//MessageBox.Show(ep.ToString());<br>
return "";<br>
}<br>
finally<br>
{<br>
}<br><br>
}<br>
4.取gps坐标代码<br>
GpsDeviceState device = null;<br>
GpsPosition position = null;<br>
Gps gps = new Gps();
void gps_DeviceStateChanged(object sender, DeviceStateChangedEventArgs args)<br>
{<br>
device = args.DeviceState;<br>
}
protected void gps_LocationChanged(object sender, LocationChangedEventArgs args)<br>
{<br>
position = args.Position;<br>
str = "";<br>
if (position != null)<br>
{<br>
//维度<br>
if (position.LatitudeValid)<br>
{<br>
str += position.Latitude;<br>
}<br>
//经度<br>
if (position.LongitudeValid)<br>
{<br>
str += " " + position.Longitude;
5.发送短信代码<br>
SmsMessage msg = new SmsMessage(PHONE, str);<br>
msg.Send();<br>
6.打包为开机启动程序<br>
打包cab文件时,只需把快捷方式添加到Startup文件夹下面就ok。
不足之处。<br>
1.gps代码根据sdk中修改的,只是卫星定位的,根据基站定位的代码不知如何实现,只有当使用手机的人走到卫星信号好的地方时才能把坐标发
出去<br>
2.发送的gps坐标 ,只是一个大体的位置,几百米以内的范围,有些浮动<br>
3.如果手机被恢复出厂设置,或者被刷机,程序肯定不能运行了
即使gps信号不好的情况下只是得到使用手机人的电话号码,跟通话记录,用处也是挺大的。代码只是写着玩的,提供下参考思路代码
如果你发现有什么不合理的,需要改进的地方,或者你有什么更好的实现方法<span style="font-family: 'lucida Grande',Verdana; font-size: 14px; line-height: 23px;">邮件联系328452421@qq.com(qq常年不在线,邮件联系)</span><a href="mailto:328452421@qq.com"></a> 朱晓 (泰山学院)。相互交流 谢谢
源码下载地址 http://download.csdn.net/source/3239409
<a href="http://blog.csdn.net/xiaoxiao108/archive/2011/04/01/6294067.aspx"></a>
发表评论
-
百度质量部实习居然通过了~
2012-02-08 12:23 951[size=small;]? ? ?本来打算在软工所苦 ... -
Android上的log,日志相关
2012-02-07 14:18 1480摘自:http://blog.csdn.net/met ... -
随 笔
2012-02-04 13:39 561金风玉露一相逢,便胜却人间无数。英文版: chemis ... -
MyISAM InnoDB 区别
2012-02-02 16:59 695<h1 id="artibody ... -
数独suduku
2012-01-31 14:38 878sudu sudu sudu sudu sudu su ... -
paypal提现如何省钱
2011-12-28 16:58 1173据PayPal中文注册得知,如今很多收样品费的外贸商户 ... -
ORA-01012: not logged on 解决办法
2011-12-28 13:08 3411<span style="font-f ... -
c语言中去除const修饰
2011-12-21 10:54 1375[size=16px;]<span style= ... -
虚析构函数(总结 帖子)
2011-12-21 09:54 668<span style="" ... -
谈谈Q+平台的技术实现
2011-12-20 09:49 929这篇文章是我个人 ... -
微创短信开发平台
2011-12-19 11:39 732在网上闲逛,发现了一个站点,微创短信开发平台(http ... -
《使用 Microsoft .NET 的企业解决方案模式》读书笔记3
2011-12-19 10:24 712第3章 Web表示模式 没有一个设计策略能够适合所有情 ... -
MapXtreme2004代码 MapControl控件中显示地图文件
2011-12-15 14:29 849::<?xml:namespace prefix ... -
ASP.NET开发工具Web Matrix介绍
2011-12-15 13:39 929<p class="MsoPlain ... -
用C#写定时关机的程序
2011-12-15 11:14 669</span></font>& ... -
JUnit单元测试感悟
2011-12-14 11:29 827<p class="MsoNorma ... -
JNI调用的注意事项
2011-12-14 09:34 715JNI的简单教程网上很多,看看就能够明白,照着操作也基 ... -
javax.xml.transform.TransformerFactoryConfigurationError
2011-12-13 13:34 807<span style="" ... -
ViewFlipper “Receiver not registered” Error
2011-12-12 10:59 1092偶尔出现这个错误: <span> < ... -
Android中用Toast.cancel()方法优化toast内容的显示
2011-12-09 16:24 1097产品在测试过程中发现一个bug,就是测试人员不停的疯狂 ...
相关推荐
前段时间母亲手机遭贼了,以防万一,如果自己手机丢了,肯定会更郁闷,记得很多手机有防盗功能,如果更换了sim卡就会,手机就会自动把新的 sim卡手机号,gps坐标,什么的发送到绑定的手机上。网上查了下资料,这类...
Android手机防盗软件实现+源码
360手机安全卫士源码 实现自己的Android手机卫士包括手机防盗,病毒查杀,软件管理,高级设置,流量监控等9大功能模块
安卓手机安全卫士源码基于黑马的手机安全项目源码作者又对功能做出了一些增删基本的功能有手机防盗、通讯黑名单、软件管理、进程管理、流量统计、手机杀毒、缓存清理、程序锁等进程管理实现了进程的Kill,就是平时...
主要功能:1、软件更新与下载。2、手机防盗。3、骚扰拦截。4、软件管家。5、进程管理。6、流量统计。7、手机杀毒。8、系统加速。9、常用工具。所有功能皆可实现,且界面已经优化,是一款完整且可使用的手机软件
基于Android平台的手机安全卫士的设计与实现 附源码和文档。 做毕业设计,课程设计或者正在学习相关技术知识的朋友可以下载资源学习。想继续学习相关知识的可以关注我...手机防盗 程序锁 通讯卫士 来电归属地 软件管理
实现了现在市面上安全软件的大部分功能, 短信防盗,来电显示,归属地查询,手机定位,手机杀毒,缓存清理等等等功能.
完整版下载, 安卓手机安全卫士源码基于黑马的手机安全项目源码作者又对功能做出了一些增删基本的功能有手机防盗、通讯黑名单、软件管理、进程管理、流量统计、手机杀毒、缓存清理、程序锁等进程管理实现了进程的...
功能实现有 1.手机防盗(GPS追踪,SIM卡变更报警,远程销毁数据,远程锁屏)2.软件管理 3.任务管理 4.高级工具 5.设置中心 有代码注释 是学习的好项目
基于MSP430F2132Z主控的蓝牙及GSM的智能防盗系统WORD论文文档+ALTIUM设计硬件原理图PCB+软件源码。 本文介绍了一种以TI的MSP430F2132为控制核心的智能防盗系统。主要由控制模块,GSM模块,蓝牙模块以及电源部分组成...
手机防盗: 根据预设参数, 判断手机是否被盗,根据自定义协议发送手机中sim卡的信息和手机的位置信息给安全号码. 可以自定义特殊号码,拨号快速进入手机防盗功能,可远程通过短信指令,给手机设置锁屏密码, 远程锁定手机...
实现了金山手机卫士的功能,比较全面,实现了手机防盗,GPS定位,手机黑名单拦截,管理。软件管理,任务管理,归属地号码管理,以及杀毒和设置中心,电话号码和短信备份还原。如有不完善地方,请多多指教。
在实现这个系统时实现了一套软件架构,即以MQX-lite系统为中间件。下面为硬件抽象层(HAL),之上为应用程序层(APP)。以后的项目可以直接在此基础上进行开发,节省时间并且能大大提高效率。 智能防盗系统电路板...
万能学习遥控器功能,通过APP操作,通过对码学习,实现手机代替遥控器。 • 5.插座温度检测,实时监测插座内部温度,如有过载,能及时切断供电电源。 • 6.防盗报警功能,市场很容易买到像门磁探测器,红外探测器,...
因源码总计100多兆,所以分五次下载。 第1章 论坛模块 第2章 博客模块 第3章 播客 第4章 网络硬盘 第5章 在线考试模块 第6章 网站备忘录 第7章 电子邮件发送与接收模块 第8章 在线短消息模块 ...
结合云转码软件实现站长/用户上传视频支持任意格式转码,生成视频图片、名称、播放地址、完全自动 每天签到 用户每天签到可得到系统自动奖励的金币,24小时允许签到一次,从而提高用户对网站的黏贴度哦 分享...
本系统设计之初即考虑到方便易用的特点,无需更改任何页面(同类程序,需自己手工更改许多相关页面),即可投入使用,具体设置的项目有:站点名称、站点title头国际域名、客服电话、客服邮箱、客服QQ、软件下载地址、...
2、采用GSM模块实现短信的发送,只要老人跌倒了(且没有按下解除误报警操作按钮),设备将会向设定的手机号码发送求救短信“help me!”! 3、板子正常情况下是竖直装在口袋里的(adxl345模块在下角竖直立着),一旦...
为了实现本次应用,需烧写BLE 协议栈软件库及应用程序到RL78/G1D 演示板,并安装相应APP 到Android 智能手机,从而通过BLE 功能实现手机对智能锁的控制。其中RL78/G1D 演示板由主控板(RTK0EN0002C01001BZ 套件)和...
电子报刊发布全面兼容手机端,电脑端和手机端同步发布,前台可实现响应式网页显示 3).文章内容自动排版功能,无须人工过多编辑调整 53BK多媒体数字报刊系统页面展示 相关阅读 同类推荐:站长常用源码