问题标签 [wpd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - WPD 对象文件名在“。”处截断
在我的项目中,我使用 Windows 便携式设备 (WPD) API 来枚举移动设备的内容。WPD API 枚举指南。我能够枚举每个对象并查看它们的属性,如 API 编程指南中所示。WPD API 属性指南
但是,当我尝试获取名称中包含 a 的对象.名称时,返回的值会被截断.
例如,名称为 的对象(设备上的文件夹)com.example返回为com. 当我尝试在设备上查找特定文件路径时,这成为一个明显的问题。
我似乎无法弄清楚出了什么问题。我是否误解了文件名的实际含义?对象内是否有example其他属性或某物com?我很困惑。
编辑:所以我使用 WPD API 示例软件来检索 com.example 对象的所有对象属性,您可以看到 WPD 本身无法获取完整的文件夹名称。
谢谢你的时间!
.net - shell32 copyhere 在 .Net 和 powershell 脚本中都不起作用
有一个powershell脚本可以通过MTP以编程方式在pc和android之间复制文件,请参阅access-file-system-against-mtp-connection,它在powershell控制台下运行时工作,然后我制作了如下脚本:
该脚本在powershell控制台上运行良好,但是当我在cmd下运行它时
powershell -文件 mtpcp.ps1 c:\test\Android\test\
或者
powershell ./mtpcp.ps1 c:\test\Android\test\
它什么也不做(没有显示错误)。
然后我使用 system.Shell32 在 .Net 上实现了相同的功能,CopyHere 功能适用于常规路径c:\,但不适用于 mtp 设备路径,就像 powershell 一样,它在 CopyHere 功能上什么也不做,也没有错误消息出现。
c# - 如何使用 C# 获取 MTP 设备可用存储和存储容量?
我正在使用 PortableDevice API 来获取 MTP 设备检测和设备属性。我想获得 MTP 设备存储,例如存储容量和可用存储容量。这是我获取设备友好名称的示例代码,
同样,我想从 MTP 设备读取设备存储和可用空间。
我试过这样,但我错过了一些东西,
……………………………………………………………………………………………………………………………………………………………………………… .....................
提前致谢。
c++ - WPD API - 无法从设备传输内容(包括 SSCCE)
我需要枚举 MTP android 设备的内容并将文件从设备传输到 Windows PC。
按照此处找到的将内容从设备传输到 PC的指南,我尝试将简单的文本文档传输到指定目录。但是,输出文件始终为空,即使返回值表明X number of bytes have been written.
我只使用推荐的 Windows API 调用创建了一个 SSCCE,以轻松重现该问题。我使用了 API 文档和官方示例项目作为参考。
为了测试,我有一个通过 MTP 连接的 android 手机,在根目录上有一个名为的文件夹testFolder,里面有一个testfile.txt带有文本的文件hello world。运行此应用程序时,输出表明已写入 11 个字节,但文件为空。请你自己试试?
我似乎无法理解为什么文件总是空的。有任何想法吗?
谢谢你的时间。
jpeg - C#:WPD - 下载带有元标记的图片
我正在运行便携式设备 API 以自动从连接的智能手机获取照片。我已经正确传输了所有内容。我使用的代码是标准 DownloadFile() 例程:
此标准代码有两个问题: 1) - 当图像保存到 windows 机器时,没有 EXIF 信息。这个信息是我需要的。我该如何保存它?2)保存的文件非常臃肿。例如,源 jpeg 为 1,045,807 字节,而下载的文件为 3,942,840 字节!它类似于所有其他文件。我认为 unsafe{} 部分中的一些会逐字节输出它?有没有更好的数据传输方式?(安全的方式?)
c++ - Windows 便携式设备 - 在创建/复制/删除新文件时通知
是否可以在使用 ( IPortableDeviceEventCallback) 从/复制到/存储设备中删除文件时收到通知。
到目前为止,我只在闪存驱动器断开连接或用户在外部更改其名称时收到通知。
编辑:我有兴趣接收WPD_EVENT_OBJECT_ADDED活动。
显示支持所需的事件,但在新文件复制时没有发送任何内容
c++ - WPD API 检测设备是否是电话?
编辑:要求提供完整的源代码。下面是一个准系统实现,以复制该错误。删除了内容枚举,但是无论如何在第一个对象调用时都会发生崩溃。在这种情况下,WPD_DEVICE_OBJECT_ID 对象。
链接到 CPP(错误从第 103 行开始)
链接到 QMAKE.PRO(我正在使用 Qt)
在我的项目中,我使用WPD API来读取移动设备的内容。我遵循 API 到一个 tee 并成功实现了内容枚举。
但是,如果连接了 USB 驱动器,WPD API 有时也会将其检测为设备。无论如何,我的程序将继续进行内容枚举。我不想要那个。我只想列举移动设备。
问题是,在内容枚举期间,当我的程序尝试检索 USB 驱动器上对象的属性时,它会崩溃。以下是崩溃详情:
崩溃发生在此调用上:
hr返回 FAILED 然后我的程序崩溃。
经过一番研究,我发现异常代码c0000417意味着发生了缓冲区溢出?如果我错了,请纠正我,但这是 WPD API 中的漏洞吗?如果是这样,我怎么能提前检测到这个设备不是移动设备?
谢谢你的时间!
winapi - 如何通过win32 wpd api获取序列号
如标题所示,我在 google 上搜索这个问题,但似乎无法通过 WPD(Windows Portable Device) api 获取序列号,在MSDN中,我找到了 Portable Device 的 WPD_DEVICE_SERIAL_NUMBER 属性,谁能告诉我如何使用 wpd api 获取此属性?
c# - 安装 Windows 10 创建者更新 1703 后将数据复制到便携式设备时出现 System.AccessViolationException
我正在尝试使用此代码段将内容传输到便携式设备
尝试执行 targetStream.Write System.AccessViolationException 时发生。
这仅适用于 Windows 10,创建者更新 1703。
你能告诉我我做错了什么吗?
提前致谢。
vb.net - 如何将文件从路径复制到 WPD 或 MTP 设备
我正在使用 VB.NET 创建视频复制应用程序。我可以轻松地将所需的文件从路径复制到 USB,但我在使用手机等便携式设备时遇到了麻烦。
到目前为止,我能够使用此问题中给出的代码和 DLL 找到并连接手机,但我无法将文件复制到设备。
我与此相关的子代码如下: