Python 使用USB连接访问WM6手机上的文件
Windows XP将我的Windows Mobile 6手机(HP iPAQ 514)显示为“我的电脑”中的“移动设备”。使用Windows资源管理器,我可以将文件从/复制到设备及其存储卡 有哪些可能以编程方式访问这些文件?有没有办法用普通的文件名或路径访问它们Python 使用USB连接访问WM6手机上的文件,python,file,usb,windows-mobile-6,Python,File,Usb,Windows Mobile 6,Windows XP将我的Windows Mobile 6手机(HP iPAQ 514)显示为“我的电脑”中的“移动设备”。使用Windows资源管理器,我可以将文件从/复制到设备及其存储卡 有哪些可能以编程方式访问这些文件?有没有办法用普通的文件名或路径访问它们 请注意,我正在寻找一种通过USB而不是蓝牙/Wi-Fi连接的手机解决方案。问题被标记为Python,但我希望听到任何可行的解决方案。您正在寻找的“特殊路径”存在于Shell级别,而不是内核。因此,您不应该使用Win32内核名称空间(您
请注意,我正在寻找一种通过USB而不是蓝牙/Wi-Fi连接的手机解决方案。问题被标记为Python,但我希望听到任何可行的解决方案。您正在寻找的“特殊路径”存在于Shell级别,而不是内核。因此,您不应该使用Win32内核名称空间(您链接到的名称空间)的路径,而应该使用PIDL的路径来回答您实际如何读取的问题,您应该看看Windows的“RAPI”组件—它是ActiveSync或Vista的MDM中的一个接口。RAPI提供COM接口
irapDevice
和irapisence
;后者有很多熟悉的Win32函数。例如,您得到的irapisence::CeCreateFile
类似于熟悉的CreateFile
这是否意味着我可以使用shell.SHGetSpecialFolderLocation(0,shellcon.CSIDL_xxx)
获得路径?如果是,如何找到正确的CSIDL?检查指向“移动设备”的快捷方式(.lnk)文件并没有给我任何提示。在注册表中有一个“移动设备”的“CLSID”条目,但我不知道如何将GUID解析为路径。呃,没有-如果只是因为CSIDL只有一个文件夹,并且您可以有多个移动设备的话。一个PIDL
根本不等于一个CSIDL_xxx
值。好吧,现在我在Python中找到了带有SHBrowseForFolder
的“移动设备”的PIDL,它是两个字符串的列表(第一个是“我的电脑”即CSIDL_驱动器的PIDL,第二个我猜是“移动设备”)。但是当我在组合的PIDL上调用SHGetPathFromIDList
时,我得到一个错误元组,上面写着“未指定的错误”。。。在没有RAPI的情况下,是否有任何方法可以使其正常工作?听起来不错-PIDL是一个通用路径,第二个组件应该唯一标识您的移动设备实例SHGetPathFromIDList
将PIDL转换为常规文件系统中的路径,当然,假设PIDL首先指向常规文件系统,请参见“备注”部分。你的没有,这是有道理的。我会试着用RAPI来达到我的目的。感谢您的帮助。谢谢,pywin32似乎有一个从设备复制文件的示例。请看一下其他评论-除了RAPI,还有更好的解决方案吗?