Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用USB连接访问WM6手机上的文件_Python_File_Usb_Windows Mobile 6 - Fatal编程技术网

Python 使用USB连接访问WM6手机上的文件

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内核名称空间(您

Windows XP将我的Windows Mobile 6手机(HP iPAQ 514)显示为“我的电脑”中的“移动设备”。使用Windows资源管理器,我可以将文件从/复制到设备及其存储卡

有哪些可能以编程方式访问这些文件?有没有办法用普通的文件名或路径访问它们


请注意,我正在寻找一种通过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,还有更好的解决方案吗?