Introduction
This utility (rcmd.exe) can copy files and folders (with subfolders) to PocketPC or from PocketPC to desktop PC. I integrated this tool into "Send To" menu. And now I am able to copy any file/folder to my device without opening ActiveSync's browser. This tool is also useful for some kind of automation.
This is a command-line Win32 application which uses RAPI to work with PocketPC. To run this utility, you should have ActiveSync installed in Desktop PC.
Windows CE Remote API
With RAPI, you can write data to or read data from a Windows CE-based device remotely with a desktop computer. This API support various functions:
- System Information Functions
about memory, power, desktop, stores, password.
- Database Functions
retrieving and storing data.
- File and Directory Management Functions
creating, deleting files/folders, changing attributes.
- Registry Management Functions
retrieving and storing data.
- Shell Management Functions
shortcuts, special folders.
- Window Management Functions
enumerating, getting properties of windows.
This API also allows to execute applications and call a function from a DLL inside PocketPC. I think it's a great API for automating PocketPC from Desktop.
Using the sources
To build the project, you need to setup eMbedded Visual Tools (or PocketPC SDK), and setup directories in Visual C++ 6.0. Add ActiveSync inc\ and lib\ folders. Use menu Tools -> Options -> directories tab. In my case, I added C:\Windows CE Tools\wce300\MS Pocket PC\support\ActiveSync\inc (and \lib) folders.
The sources consist of a CRapi
class and main module. CRapi.cpp has some public methods:
int CRapi::copy(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...
int CRapi::del(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...
int CRapi::dir(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...
int CRapi::run(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...
int CRapi::db(LPCTSTR par1, LPCTSTR par2, LPCTSTR par3, LPCTSTR par4)
...
...
History
- Dec 2003: Fixed some bugs.
- Aug 2002: First release.