2

I use Delphi 7 on Windows 7, I need to open a dialog that allow to choose a directory. I use SelectDirectory (from unit FileCtrl). The problem is that I want to navigate through an "unmapped" network directory, like "\\10.0.0.1\Mickey".

Is it possible to do this?

4

2 回答 2

2

你对老式的不走运,SelectDirectory这是一个过时和弃用的功能。

在 Vista 及更高版本上,您应该IFileDialog在其文件夹选择模式下使用。对于 Vista 之前的操作系统,您能做的最好的可能是SHBrowseForFolder.

SelectDirectory调用过多SHBrowseForFolder。这是 5 个参数的重载。不知道什么时候介绍的。也许它甚至存在于 Delphi 7 中。我也不能确定是否SHBrowseForFolder会提供您正在寻找的目录。

由于您还使用过时且不推荐使用的 Delphi 版本,因此调用IFileDialog. 您需要自己声明接口并使用CoCreateInstance.

于 2012-12-03T15:51:57.487 回答
2

Win32SHBrowseForFolder()函数以及因此 RTL 的重载SelectDirectory()函数确实支持网络路径。只需将Root参数设置为空白字符串,以便网络共享可以出现在对话框中。

于 2012-12-04T16:36:16.903 回答