Windows Embedded CE和Windows Mobile下ActiveSync开发
背景
用过Windows Mobile的人大概都有使用USB线链接手机到PC的经历,这一般由ActiveSync来完成软件功能。ActiveSync在Windows Embedded CE以及Windows Mobile 和PC的互操作中扮演重要的角色,使用了ActiveSync,PC就可以检查 Windows Embedded CE以及Windows Mobile 设备的硬件,操作系统,内存等等版本信息,访问和修改注册表,增删改文件和传输文件,甚至调用设备的DLL。本文讲述ActiveSync的开发。
什么是ActiveSync
ActiveSync是微软开发的数据同步程序,使得PC可以同步Windows Embedded CE以及Windows Mobile 等设备上的文档,邮件,日历安排,联系人列表等。同时ActiveSync提供手工文件传输和同步功能,可以在PC上安装和卸载Windows Embedded CE以及Windows Mobile 等设备上程序。在Vista之后,ActiveSync被Windows Mobile Device Center所取缔。
什么是RNDIS
RNDIS(Remote NDIS)是另外一种比较常用的通过USB连接Windows Embedded CE设备和PC的规范。
Remote NDIS Drivers for USB
图转自http://www.microsoft.com/whdc/device/network/ndis/rmndis.mspx
从开发者的角度可以把RNDIS理解为IP over USB,C和Windows Embedded CE链接了以后会分配IP地址,可以基于这个IP网来进行开发。RNDIS广泛应用于USB设备中,例如ADSL设备一般支持RNDIS,这样连上USB就能对设备进行配置了。
下载
ActiveSync只能用于XP,当前为4.5版本,下载链接如下:Download Microsoft ActiveSync 4.5
如果使用Vista,请使用Windows Mobile Device Center,目前版本为6.1,下载链接如下:Download Windows Mobile Device Center 6.1
对于ActiveSync的开发,我使用了 OpenNETCF Desktop Communication Library 库,这是一个基于The MIT License (MIT)的开源库。先到下面链接下载。http://rapi.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29281
接口
ActiveSync的功能封装在OpenNETCF Desktop Communication Library 库的ActiveSync类。
方法
ActiveSync类通过ConnectNow()和DisconnectNow()对设备进行链接,断开。
rapi.ActiveSync.ConnectNow();rapi.ActiveSync.ShowCommSettings();rapi.ActiveSync.DisconnectNow();
ShowCommSettings()显示当前设备链接状态。
属性
当设备链接时候或者断开的时候,也可以配置自动启动程序。
rapi.ActiveSync.AutoConnect = true;rapi.ActiveSync.AutoStartOnConnect.Add(@"C:\WINDOWS\notepad.exe");rapi.ActiveSync.AutoStartOnDisconnect.Add(@"C:\WINDOWS\regedit.exe");
设置属性 AutoConnect 为true,当设备链接的时候,activesync自动链接。设置AutoStartOnConnect和AutoStartOnDisconnect,当链接或者断开的时候,自动启动配置的程序。
事件
通过订阅Active和Disconnect事件来处理链接状态变更消息。
rapi.ActiveSync.Active += newActiveHandler(ActiveSync_Active);rapi.ActiveSync.Disconnect += newDisconnectHandler(ActiveSync_Disconnect);
voidActiveSync_Disconnect(){ labelActiveSync.Text = "Device disconnected";} voidActiveSync_Active(){ labelActiveSync.Text = "Device connected";}
讲到这里,很简单,下一篇将RAPI。
Windows Embedded CE和Windows Mobile下ActiveSync开发相关推荐
- 如何使用PowerShell提升开发效率(以Windows Embedded CE为例)
简介 本文讲述如何使用Powershell通过RAPI来控制Windows Embedded CE和Windows Mobile设备. 缘由 我入行的时候是做AS400 RPG和UNIX C开发的,所 ...
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出当前执行文件的路径和调用模块的路径...
在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,有时候需要取出当前执行文件的路径,或者调用模块的路径信息,例如在相对路径下存放了配置 ...
- 在Windows Mobile和Wince(Windows Embedded CE)下进行WTL开发,如何加入超链接(HyperLink)
本文讲述在Windows Mobile和Wince(Windows Embedded CE)下进行WTL开发,如何加入超链接(HyperLink)的支持. 步骤如下: 1.#include <a ...
- Windows Mobile和Wince(Windows Embedded CE)的字符集问题
背景 开发过Windows Mobile和Wince(Windows Embedded CE)的开发者,特别是Native C++开发者,或多或少都遇到过ANSI字符集和Unicode字符集的转换问题 ...
- 开发Windows Mobile和Wince(Windows Embedded CE)的部署项目(Deploy Project)时,如何修改注册表...
由于fele问我一个问题:在进行Windows Mobile部署项目的开发,也就是打安装包,如何修改注册表?我把自己的经验blog下来. 1.打开Deploy项目的注册表编辑器,如下图 2.根据需求修 ...
- 一文讲清楚Windows Mobile和Wince(Windows Embedded CE)的字符集问题
背景 开发过Windows Mobile和Wince(Windows Embedded CE)的开发者,特别是Native C++开发者,或多或少都遇到过ANSI字符集和Unicode字符集的转换问题 ...
- Windows Embedded CE 6.0开发初体验(一)Windows CE概述
这篇文章的目的并不是介绍Windows Embedded CE开发的方方面面,只是用一个初涉嵌入式领域的软件开发者的视角来介绍Windows CE开发中最常用的概念和知识,解决大家会在实际开发中碰到的 ...
- [Wince6.0]Windows Embedded CE 6.0 安装过程,序列号和使用初步(转)
Windows Embedded CE 6.0 安装过程,序列号和使用初步 一. Windows Embedded CE 6.0 开发环境的搭建 开发环境方案为:Windows XP SP3 + Vi ...
- Windows Embedded CE 6.0开发初体验(二)CE开发环境 收藏
上一篇<Windows Embedded CE 6.0开发初体验>之"嵌入式开发流程": http://blog.csdn.net/aawolf/archive/200 ...
最新文章
- JVM---Java虚拟机栈
- 临床模型评价:C指数(C-Index)、校正曲线(Calibration plot)、决策分析曲线(Decision Curve Analysis, DCA)、NRI指数
- SAP MM MIGO界面上的Freight标签页
- 【Codeforces Round #767 (Div. 2)】 C. Meximum Array 题解
- java stringbuilder appendline_StringBuilder
- 银河计算机网络,Python脚本之socket
- codeblock下载
- SAP 电商云 Spartacus UI 根据 CMS Component uid 获取数据
- python路径怎么找windows_如何查看 windows 中 Python安装路径
- python类的定义与使用_Python15类的定义和使用
- DeskClock选择闹钟声音时有重复选项
- python换行输出到文件_Python的quot;printquot;函数在“Hello World”之外的延伸
- 项目期复习:JS操作符,弹窗与调试,凝视,数据类型转换
- 实习踩坑之路:LocalDateTime计算间隔天数,compareTo/Period的beetween方法导致的bug
- funcode黄金矿工(提高篇)
- 逻辑回归之ROC曲线的绘制
- select XX.nextval from dual
- 【JavaLearn】(24)Session、Cookie、ServletContext、MVC开发模式、JSP九大内建对象及四个作用域、JSTL及EL表达式、过滤器、监听器
- 《寂静之声》口琴版,惊艳,有链接
- 《MySQL系列-开发相关》MySQL新建数据库表并存储2010年到2030年的日期