背景

用过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

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开发相关推荐

  1. 如何使用PowerShell提升开发效率(以Windows Embedded CE为例)

    简介 本文讲述如何使用Powershell通过RAPI来控制Windows Embedded CE和Windows Mobile设备. 缘由 我入行的时候是做AS400 RPG和UNIX C开发的,所 ...

  2. 在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出当前执行文件的路径和调用模块的路径...

    在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,有时候需要取出当前执行文件的路径,或者调用模块的路径信息,例如在相对路径下存放了配置 ...

  3. 在Windows Mobile和Wince(Windows Embedded CE)下进行WTL开发,如何加入超链接(HyperLink)

    本文讲述在Windows Mobile和Wince(Windows Embedded CE)下进行WTL开发,如何加入超链接(HyperLink)的支持. 步骤如下: 1.#include <a ...

  4. Windows Mobile和Wince(Windows Embedded CE)的字符集问题

    背景 开发过Windows Mobile和Wince(Windows Embedded CE)的开发者,特别是Native C++开发者,或多或少都遇到过ANSI字符集和Unicode字符集的转换问题 ...

  5. 开发Windows Mobile和Wince(Windows Embedded CE)的部署项目(Deploy Project)时,如何修改注册表...

    由于fele问我一个问题:在进行Windows Mobile部署项目的开发,也就是打安装包,如何修改注册表?我把自己的经验blog下来. 1.打开Deploy项目的注册表编辑器,如下图 2.根据需求修 ...

  6. 一文讲清楚Windows Mobile和Wince(Windows Embedded CE)的字符集问题

    背景 开发过Windows Mobile和Wince(Windows Embedded CE)的开发者,特别是Native C++开发者,或多或少都遇到过ANSI字符集和Unicode字符集的转换问题 ...

  7. Windows Embedded CE 6.0开发初体验(一)Windows CE概述

    这篇文章的目的并不是介绍Windows Embedded CE开发的方方面面,只是用一个初涉嵌入式领域的软件开发者的视角来介绍Windows CE开发中最常用的概念和知识,解决大家会在实际开发中碰到的 ...

  8. [Wince6.0]Windows Embedded CE 6.0 安装过程,序列号和使用初步(转)

    Windows Embedded CE 6.0 安装过程,序列号和使用初步 一. Windows Embedded CE 6.0 开发环境的搭建 开发环境方案为:Windows XP SP3 + Vi ...

  9. Windows Embedded CE 6.0开发初体验(二)CE开发环境 收藏

    上一篇<Windows Embedded CE 6.0开发初体验>之"嵌入式开发流程": http://blog.csdn.net/aawolf/archive/200 ...

最新文章

  1. JVM---Java虚拟机栈
  2. 临床模型评价:C指数(C-Index)、校正曲线(Calibration plot)、决策分析曲线(Decision Curve Analysis, DCA)、NRI指数
  3. SAP MM MIGO界面上的Freight标签页
  4. 【Codeforces Round #767 (Div. 2)】 C. Meximum Array 题解
  5. java stringbuilder appendline_StringBuilder
  6. 银河计算机网络,Python脚本之socket
  7. codeblock下载
  8. SAP 电商云 Spartacus UI 根据 CMS Component uid 获取数据
  9. python路径怎么找windows_如何查看 windows 中 Python安装路径
  10. python类的定义与使用_Python15类的定义和使用
  11. DeskClock选择闹钟声音时有重复选项
  12. python换行输出到文件_Python的quot;printquot;函数在“Hello World”之外的延伸
  13. 项目期复习:JS操作符,弹窗与调试,凝视,数据类型转换
  14. 实习踩坑之路:LocalDateTime计算间隔天数,compareTo/Period的beetween方法导致的bug
  15. funcode黄金矿工(提高篇)
  16. 逻辑回归之ROC曲线的绘制
  17. select XX.nextval from dual
  18. 【JavaLearn】(24)Session、Cookie、ServletContext、MVC开发模式、JSP九大内建对象及四个作用域、JSTL及EL表达式、过滤器、监听器
  19. 《寂静之声》口琴版,惊艳,有链接
  20. 《MySQL系列-开发相关》MySQL新建数据库表并存储2010年到2030年的日期

热门文章

  1. java 仿qq庅_iQQ-开源Java版qq客户端
  2. java 编写方法和属性,Java类属性及方法的定义
  3. 计算机理论基础知识书面形式,计算机基础知识word.doc
  4. Python爬虫入门(四):实战,爬取4399小游戏首页
  5. Spring AOP 自定义注解记录操作日志
  6. 主流的音视频SDK调研
  7. LoadRunner简单压力测试
  8. 阿里云服务器实时计算Flink/Blink首选大数据型d2c、d2s实例
  9. 深圳非全日制计算机专业院校,深圳非全日制研究生招考院校
  10. Java工程师必备软件大合集,手把手教你如何下载和安装