4

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

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

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

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

由于这不是有效路径(而不是 C:\whatever),我猜 FolderBrowserDialog 不喜欢这样。

它可以从有效的路径名正常工作,但不能在相机之外......

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

更新

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

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

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

4

3 回答 3

3

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

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

SHBrowseFor文件夹

使用 PIDL 枚举文件夹

于 2009-02-14T10:36:52.503 回答
0

有没有办法将相机路径映射到驱动器号?(我正在考虑命令提示符中的“subst”或“net use”之类的东西。)也许这会欺骗 FolderBrowserDialog 使其按预期运行?

于 2009-02-13T20:56:42.867 回答
0

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

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

于 2009-02-15T10:47:43.207 回答