与Android设备进行Windows MTP / WPD通信

我正在开发一个在Windows上运行的PC c ++应用程序。 应用程序应使用MTP与通过USB连接的Android手机进行通信。 idée不能安装存储卡。 我发现Windows有一些他们称之为支持MTP的WPD(Windows Portable Device)。 它看起来不错,但它要求安装WMP11。 我想知道的是:

  • 还有其他的替代品库可以使用吗?
  • 有没有人有使用WPD的技巧或经验?
  • 有没有什么“瘦”的依赖,你可以安装而不是WMP11的XP?

任何帮助将不胜感激。

我在这里为我的问题提供了一些答案,希望它能帮助别人。

有什么替代品/精简的图书馆?

  • 您可以使用WIA,但仅用于图像。 但从我没有找到的一部分。

有小费吗?

  • 查看微软提供的示例代码 ,这是一个很好的起点。 我发现它在MSDN上搜索便携式设备COM API示例
  • 对于服务,你可以看看这个示例代码 。 我通过搜索WpdServicesApiSample发现的
  • WPD api可以使用。
  • 并不是所有的设备都支持MTP,有的只支持其中的一部分。 这引起了一些问题,但是我们使用的设备发布了支持更多MTP的更新
  • 我从pcbbc的StackOverflow发现XP的问题的答案真的很有帮助。 我还可以补充说,我们邮寄供应商,并要求一个自定义的.INF文件来支持XP,他们真的很有帮助,并提供给我们。 但是我们花了一些时间才得到它。