65.9K
CodeProject 正在变化。 阅读更多。
Home

PocketPC的命令行实用程序

2004年1月27日

CPOL

1分钟阅读

viewsIcon

133319

downloadIcon

521

基于 RAPI 的实用工具,用于复制文件和文件夹 PC->PocketPC(反之亦然)。 还有“- Dir、Del、Db”命令。

引言

此实用工具 (rcmd.exe) 可以将文件和文件夹(包括子文件夹)复制到 PocketPC 或从 PocketPC 复制到桌面 PC。 我已将此工具集成到“发送到”菜单中。 现在,我可以在不打开 ActiveSync 浏览器的情况下将任何文件/文件夹复制到我的设备。 此工具也适用于某些类型的自动化。

这是一个使用 RAPI 与 PocketPC 交互的 Win32 命令行应用程序。 要运行此实用工具,您需要在桌面 PC 上安装 ActiveSync。

Windows CE 远程 API

使用 RAPI,您可以从桌面计算机远程向基于 Windows CE 的设备写入数据或从设备读取数据。 此 API 支持各种功能

  • 系统信息功能

    关于内存、电源、桌面、存储、密码。

  • 数据库功能

    检索和存储数据。

  • 文件和目录管理功能

    创建、删除文件/文件夹、更改属性。

  • 注册表管理功能

    检索和存储数据。

  • Shell 管理功能

    快捷方式、特殊文件夹。

  • 窗口管理功能

    枚举、获取窗口属性。

此 API 还允许执行应用程序并在 PocketPC 内部的 DLL 中调用函数。 我认为这是一个从桌面自动化 PocketPC 的绝佳 API。

使用源代码

要构建项目,您需要设置 eMbedded Visual Tools(或 PocketPC SDK),并在 Visual C++ 6.0 中设置目录。 添加 ActiveSync inc\lib\ 文件夹。 使用菜单“工具”->“选项”->“目录”选项卡。 在我的例子中,我添加了 C:\Windows CE Tools\wce300\MS Pocket PC\support\ActiveSync\inc(和 \lib)文件夹。

源代码由一个 CRapi 类和主模块组成。 CRapi.cpp 具有一些公共方法

//
// copy files (with subfolders, by mask) between Destop <-> PocketPC.
//
// parameters:
//  par1 - path to copy from 
//  par2 - path to copy to
//
//  The paths may be from Desktop or PockePC
// (but both can not be from one target)
int CRapi::copy(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...

//
// Delete files by mask
//
//
int CRapi::del(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...

//
// Show files and folders
//
// dir c:\*
// dir \temp\*
// dir "\my documents\*" 
//
int CRapi::dir(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...

//
// Rinning application in PPC 
//
int CRapi::run(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...

//
// enumerates DataBases in PPC
//
int CRapi::db(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...

历史

  • 2003 年 12 月:修复了一些错误。
  • 2002 年 8 月:首次发布。
© . All rights reserved.