『原创』+『参考』PPC丢失后,手机信息如何保护?(C#)
2009-11-06 15:45
363 查看
现在,好多人都开始使用Windows Phone了,其提供了个人信息管理功能十分强大,无奈的是,如果当我们过分依赖于这些辅助功能,那么一旦设备丢失或被盗(结果一样吧,哈哈),个人信息将遗漏无疑啊。所以,为了保护我们的个人信息,在这里写一个Sim卡识别程序,如果是非本人的SIM卡插入,则删除本机的相关个人信息,以防被盗!
首先,如何识别我们的Sim卡呢?它有一组20位(也许吧)的识别码,应该是比较全球唯一吧。而怎么去获得这个ID呢?这里用到一个P/V invoke技术,实际上就是使用cellcore.dll的Sim卡功能类SimInitialize等,用这些功能读出插在手机中的SIM卡的ID。
其次,应该在何种场合进行判断呢?其实大家因该有这种经验:WM的PPC一般不会关机,除非换电池和SIM卡。所以,我们的程序需要在机器开机的时候运行,而且最好不要有什么用户界面,所以,我选择新建一个智能设备的控制台项目,作为我们的开发环境。
当然,还是选用.net cf 2.0的环境,模拟器么,选择WM6吧。
至此,我们已经建立起一个项目,下面我们需要往其中加入代码,其中,核心代码如下:
话说至此程序已经完成,我们还需设置项目的生成属性,其中:
输出文件夹为:Start Menu Startup文件夹,子目录为空,Ok.
下面我们就点击调试吧,系统打开WM6 Professional的模拟器,然后自动运行程序,会显示如下画面:
我们点击确定,之后,新建一个联系人
软启动设备,直至系统进入桌面,我们并没有看到什么提示,但是看看我们的Cellular Emulator,它是不是收到一条短信啊:
呵呵,再看看联系人一览:
哈哈~~~~
到此,整个程序就完成了。当然,还可以发挥你的想象力,加入更牛A的操作,这就看你了,最后弱弱的温馨提示一句:真机调试本程序前,最好备份好你自己的联系人等信息,造成的任何意外损害,我概不负责啊~~~~~
参考文档:
AppleSeeker的系列文章,很不错啊/article/4824002.html
这里是一个相关讨论,大家也可以看看http://blog.opennetcf.com/ncowburn/CommentView,guid,309b8b8e-ebc7-4078-a8ba-f174761ea7af.aspx
首先,如何识别我们的Sim卡呢?它有一组20位(也许吧)的识别码,应该是比较全球唯一吧。而怎么去获得这个ID呢?这里用到一个P/V invoke技术,实际上就是使用cellcore.dll的Sim卡功能类SimInitialize等,用这些功能读出插在手机中的SIM卡的ID。
其次,应该在何种场合进行判断呢?其实大家因该有这种经验:WM的PPC一般不会关机,除非换电池和SIM卡。所以,我们的程序需要在机器开机的时候运行,而且最好不要有什么用户界面,所以,我选择新建一个智能设备的控制台项目,作为我们的开发环境。
当然,还是选用.net cf 2.0的环境,模拟器么,选择WM6吧。
至此,我们已经建立起一个项目,下面我们需要往其中加入代码,其中,核心代码如下:
using System; using Microsoft.WindowsMobile.PocketOutlook; using System.Collections.Generic; using System.Text; using Microsoft.Win32; using Microsoft.VisualBasic; namespace SmartDeviceProject1 { class Program { static void Main(string[] args) { SIM card = new SIM(); //获取注册表 RegistryKey reg = Registry.LocalMachine.OpenSubKey("SOFTWARE\\TEST", true); if ((reg == null)) { reg = Registry.LocalMachine.CreateSubKey("SOFTWARE\\TEST");//如果为空则添加一个键值 } if (reg.GetValue("sim")==null) { if (Interaction.MsgBox("是否设定当Sim CardID不符时,自动发送短信", MsgBoxStyle.OkCancel,"提示") == MsgBoxResult.Ok) { reg.SetValue("sim", card.SimSerialNumber()); } } else { if (reg.GetValue("sim").ToString() != card.SimSerialNumber()) { OutlookSession Session = new OutlookSession(); //删除所有联系人 Session.Contacts.Items.Clear(); //删除所有约会 Session.Appointments.Items.Clear(); //删除所有工作计划 Session.Tasks.Items.Clear(); Microsoft.WindowsMobile.PocketOutlook.SmsMessage sms = new Microsoft.WindowsMobile.PocketOutlook.SmsMessage(); sms.Body = card.SimSerialNumber(); //发一封短信到自己的手机,內容包含目前sim iccid sms.To.Add(new Recipient("1234")); sms.Send(); } else { reg.Close(); Microsoft.WindowsMobile.PocketOutlook.SmsMessage sms = new Microsoft.WindowsMobile.PocketOutlook.SmsMessage(); sms.Body = card.SimSerialNumber(); sms.To.Add(new Recipient("1234")); sms.Send(); Interaction.MsgBox("欢迎回来,主人!", MsgBoxStyle.OkCancel, "提示"); } } } } }
话说至此程序已经完成,我们还需设置项目的生成属性,其中:
输出文件夹为:Start Menu Startup文件夹,子目录为空,Ok.
下面我们就点击调试吧,系统打开WM6 Professional的模拟器,然后自动运行程序,会显示如下画面:
我们点击确定,之后,新建一个联系人
软启动设备,直至系统进入桌面,我们并没有看到什么提示,但是看看我们的Cellular Emulator,它是不是收到一条短信啊:
呵呵,再看看联系人一览:
哈哈~~~~
到此,整个程序就完成了。当然,还可以发挥你的想象力,加入更牛A的操作,这就看你了,最后弱弱的温馨提示一句:真机调试本程序前,最好备份好你自己的联系人等信息,造成的任何意外损害,我概不负责啊~~~~~
参考文档:
AppleSeeker的系列文章,很不错啊/article/4824002.html
这里是一个相关讨论,大家也可以看看http://blog.opennetcf.com/ncowburn/CommentView,guid,309b8b8e-ebc7-4078-a8ba-f174761ea7af.aspx
相关文章推荐
- PPC丢失后,手机信息如何保护?(C#)
- PPC丢失后,手机信息如何保护?(C#)
- PPC丢失后,手机信息如何保护?(C#)
- 『原创』+『参考』亲手实验:使用C#在PPC中播放声音
- 手机联系人信息丢失如何恢复
- 诺基亚手机的安全保护。--如何使你的手机丢失,被盗后依然安全。
- 『原创』+『参考』使用C#在PPC的Today界面上的任务栏加入应用程序图标
- C# 如何获取出错的错误所在行数信息[原创]_C#教程_脚本之家
- 如何获取手机设备信息和手机号码
- 如何使用ADB命令查看Android手机相关信息参数
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- c# 如何使用DLL的config文件中的信息
- 如何建立一个手机信息界面?
- 『原创』关于如何在ppc模拟器中读取本地xml文件的办法
- C# TreeView树视图控件 如何把树与数据库的信息进行绑定
- 如何使用C#或者VB.NET读写Access数据库的标题(Caption)、描述(Description)等字段信息?
- 如何实现添加多条信息到GridView中,而一次保存到数据库,不被页面刷新而丢失数据呢?
- ManagementClass类解析和C#如何获取硬件的相关信息
- 用C#编写发手机中文短信息Windows服务
- [原创][C#] 如何将String类型转换成任意基本类型