我为摩托罗拉 MC3190 移动设备编写了一个非常简单的库存跟踪应用程序。我需要在设备和 Windows 7 PC 之间传输数据。
我已经在互联网上搜索了有关如何执行此操作的选项,但到目前为止没有任何效果。我对开发移动应用程序非常陌生,并且对 C# 的了解有限。(足以开发一个简单的数据捕获应用程序)。
我已经下载并安装了 Windows Mobile 设备中心、Windows Mobile 6 SDK 和 OpenNETCF 智能设备框架来访问 RAPI。我知道远程设备已通过 Windows Mobile 设备中心正确连接,并且 VS2008 能够将我的解决方案部署到设备。我还可以通过 Windows Mobile 设备中心手动来回复制文件。
到目前为止,我尝试过的是:
添加 OpenNetCF.Desktop.Communications 参考
使用代码如下:
using (RAPI rapi = new RAPI()) <--- Error Occurs (Cannot Find PInvoke.dll in RAPI.dll)
{
rapi.Connect(true);
rapi.CopyFileToDevice(remote_file, local_file);
rapi.Disconnect();
}
创建新的 RAPI 实例时出现错误(无法在 RAPI.dll 中找到 PInvoke.dll),因为它似乎正在尝试使用 ActiveSync。我无法加载 ActiveSync,因为我运行的是 Windows 7。
我尝试添加以下代码:
[DllImport("rapi.dll")]
static extern int CeRapiInit();
然后打电话
var rapi = CeRapiInit() == ERROR_SUCCESS; <-- Return Value is -2147024770
if (!rapi)
return;
try
{
.. Somestuff
}
finally
{
CeRapiUninit();
}
RAPI 似乎找不到远程设备。我已经查看了 pget 和 pput 函数的一些选项,但它们也对 CeRapiInit 调用产生了影响。也许我根本无法使用 RAPI
任何帮助,将不胜感激。