Windows Embedded CE和Windows Mobile下ActiveSync开发
2011-04-19 21:55
429 查看
背景
用过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 += new ActiveHandler(ActiveSync_Active); rapi.ActiveSync.Disconnect += new DisconnectHandler(ActiveSync_Disconnect);
void ActiveSync_Disconnect() { labelActiveSync.Text = "Device disconnected"; } void ActiveSync_Active() { labelActiveSync.Text = "Device connected"; }
讲到这里,很简单,
相关文章推荐
- Windows Embedded CE和Windows Mobile下ActiveSync开发
- Windows Mobile和Wince(Windows Embedded CE )下使用.NET Compact Framework下注册表导出工具的开发
- 在Windows Mobile和Wince(Windows Embedded CE)下如何使用.NET Compact Framework开发进程管理程序
- 我的Windows Phone、Windows Mobile 和 Windows Embedded CE 开发文章索引(定期更新)
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出资源文件中的版本信息
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Win32开发,取出当前所有运行中进程信息的方法
- Windows Mobile 和 Wince(Windows Embedded CE) 下的 WTL(Windows Template Library) 界面(UI)开发
- 在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的开发
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出当前执行文件的路径和调用模块的路径
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Win32开发,取出窗口句柄的方法
- 在Windows Mobile和Wince(Windows Embedded CE)下进行WTL开发,如何加入超链接(HyperLink)
- Windows Mobile 和 Wince(Windows Embedded CE) 下的 WTL(Windows Template Library) 界面(UI)开发
- Windows Mobile和Wince(Windows Embedded CE)下的WTL(Windows Template Library)开发
- 开发Windows Mobile和Wince(Windows Embedded CE)的部署项目(Deploy Project)时,如何修改注册表
- 在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的开发
- 在Windows Mobile和Wince(Windows Embedded CE)下如何使用.NET Compact Framework开发进程管理程序
- Windows Embedded CE 6.0开发环境的搭建 .
- Windows Embedded CE 6.0开发初体验(二)CE开发环境
- Windows Embedded CE 6.0开发初体验(七)编译和调试平台 收藏
- Windows Embedded CE 6.0开发初体验(一)Windows CE概述