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

时间:2009-02-12 13:37:21

标签: c# .net path folderbrowserdialog

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

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

查看相机上文件的路径,如下所示:

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

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

它可以从有效的路径名中正常工作,但不能从相机中运行......

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

更新

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

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

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

3 个答案:

答案 0 :(得分:3)

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

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

SHBrowseForFolder

Using PIDL to enumerate a folder

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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