我正在开发一个简单的复制工具来从数码相机中复制文件。我已经编写了文件复制代码,我已经很好地连接了所有内容。
我遇到的问题似乎与 FolderBrowserDialog 有关。在 Vista 中(我还没有检查过 XP),我可以浏览到相机上的目录。但是 FolderBrowserDialog 不允许我选择相机上的目录。 OK 按钮变灰。
查看相机上文件的路径,它看起来像这样:
Computer\[Camera Name]\Removable storage\AnotherDirectory\
因为这不是有效路径(而不是 C:\whatever),我猜 FolderBrowserDialog 不喜欢这样。
它在有效的路径名下工作正常,但在相机之外...
有没有人有任何建议来解决这个问题?
更新
为了确认 oefe 的问题,路径实际上显示为:
Computer\[Camera Name]\Removable storage\AnotherDirectory\
ChulioMartinez 关于使用 SHBrowseForFolder 的建议确实有效,我将标记为正确答案。感谢 Chulio 的帮助。
最佳答案
我的猜测是该位置没有文件系统表示(路径),例如 c:...\我的相机。
您应该能够获取文件夹的 PIDL(它应该是函数的标志之一),并使用 COM shell 接口(interface)实现复制。
关于c# - 在可移动设备/可移动存储上使用 FolderBrowserDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541247/