在可移动设备/可移动存储上使用FolderBrowserDialog

我正在研究一种简单的复制工具来复制数码相机上的文件。 我已经编写了文件复制代码,我已经很好地连接了所有内容。

我遇到的问题似乎是FolderBrowserDialog。 在Vista中(我还没有检查过XP),我可以浏览相机上的目录。 但是FolderBrowserDialog不允许我选择相机上的目录。 “确定”按钮显示为灰色。

查看相机上文件的路径,它看起来像这样:

Computer\[Camera Name]\Removable storage\AnotherDirectory\ 

因为这不是一个有效的路径(C:\的内容),我猜测FolderBrowserDialog不喜欢这个。

它从有效的路径名称工作正常,但不是从相机…

有没有人有任何建议来解决这个问题?

更新

要确认oefe的问题,路径实际显示为:

 Computer\[Camera Name]\Removable storage\AnotherDirectory\ 

ChulioMartinez建议使用SHBrowseForFolder确实有效,我将标记为正确的答案。 谢谢你的帮助Chulio。

我的猜测是该位置没有文件系统表示(路径),例如c:… \ my camera。

您应该能够获取文件夹的PIDL(它应该是函数的标志之一),并使用COM shell接口实现该副本。

的SHBrowseForFolder

使用PIDL枚举文件夹

有没有办法将摄像机路径映射到驱动器号? (我正在从命令提示符处思考“subst”或“net use”之类的内容。)也许这会欺骗FolderBrowserDialog按照需要行事?

你从哪里得到的路径? 从资源管理器中的地址栏? 这不显示文件系统路径,而是显示它的“用户友好”表示。

要获取路径,请右键单击地址栏,然后选择“将地址复制为文本”或“编辑地址”。