如何检测到MTP设备并开始复制文件?

How to detect MTP device and start copying files?

我有一个 VB 应用程序,它当前检测何时添加外部驱动器(获取驱动器号),并开始从中复制某些文件。非常方便,只需插入相机(比如说),我的应用程序就会提取所需的文件(可选择从外部设备中删除)。

有些设备,比如说 GoPro Hero4 的设备,不使用盘符挂载,而是显示为 MTP 设备。我的代码没有检测到这一点,这就是我想要的指导。

我应该使用 'StorageDevice' class 吗?一些 WMI 的东西?白皮书?

“似乎”StorageDevice 包含我需要的内容,但文档有点高级,我正在寻找可靠的示例,最好是 VB 或 C#。对最佳解决方案有什么建议吗?

编辑:感谢 link 对其他管理层的问答,但我认为这在 a) 我想检测设备连接事件,而不仅仅是复制文件,以及 b) links 在其他问答中导致项目记录稀疏。也许答案就在那里,但我只是想得到一个答案,而不是挖掘源代码,这可能是我需要的,也可能不是。

我还没有尝试过,但是 this 讨论了为什么没有 "device connected" 事件以及如何检测和处理设备连接。

即插即用接口用于检测连接的设备。