通过ActiveSync从Windows Mobile设备中提取文件

时间:2012-08-03 21:05:54

标签: visual-studio-2010 visual-c++ mobile windows-mobile

我想知道如何通过USB Sync将文件从我的手持设备移动到某个Windows文件夹。 EJ。

从\ MyDevice \ some.txt复制到C#或VB或C ++中的C:\ Temp \ some.txt。

我是开发此设备的新手。有人可以帮我这个。

2 个答案:

答案 0 :(得分:2)

我认为它是Windows Mobile设备;目前还没有其他移动设备(目前)可以使用Visual C ++。

你不能从设备方面做到这一点;允许移动设备弄乱主机的文件系统将是一个巨大的安全风险。

从Windows端,当设备通过ActiveSync连接到PC时,您可以使用RAPI函数CeCopyFile()CeCreateFile()/CeReadFile()。您也可以通过Core Connectivity API提取文件,但它更加棘手;您必须使用CoreCon接口ICcConnection

RAPI标头和库附带Windows Mobile SDK,几乎任何版本。

编辑:所以你需要从设备端。没有内置的API。考虑ActiveSync。它有一个界面,用于自动将主机文件夹与设备文件夹同步;如果文件在设备上发生变化,则更改将自动拉到PC。如果实现自定义项目界面,则可以在发生更改时通知ActiveSync。

这样想。从主机PC无需主动协助推送文件是不可能的;你必须意识到它会发生多大的灾难;任何拥有设备和USB线的人都可以通过插入设备来接管任意PC。但是,如果您正在努力从主机PC获得合作,那么您可以将RAPI​​程序放在一起用于轮询设备上某个文件夹并提取文件的Windows。

或者你可以在主机PC上设置一个FTP服务器,就像ctacke建议的那样。

答案 1 :(得分:1)

如果您需要从设备推送到PC,您必须在PC上运行服务以接受请求和数据,例如FTP服务器。连接后,您将获得一个本地虚拟网络,解析“ppp_peer”将为您提供连接的PC。此时,您可以推送到本地Web服务,FTP或其他任何东西。但是,如果没有一些明确的服务,就无法将其直接传输到文件系统,因为这将是一个巨大的安全漏洞。