我在Windows 7上使用Delphi 7,我需要打开一个允许选择目录的对话框。
我使用SelectDirectory(来自单元FileCtrl)。
问题是我想浏览一个“未映射”的网络目录,如"\\10.0.0.1\Mickey"
。
是否可以这样做?
答案 0 :(得分:2)
你对旧式的SelectDirectory
感到不满,这是一个过时的,已弃用的功能。
在Vista及以上版本中,您应该在文件夹选择模式下使用IFileDialog
。对于Vista之前的操作系统,您可以做的最好的事情是SHBrowseForFolder
。
调用SelectDirectory
的{{1}}超载。这是5个参数的过载。我不知道它何时推出。也许它甚至存在于Delphi 7中。我也无法确定SHBrowseForFolder
是否会提供您正在寻找的目录。
由于您还使用了过时且已弃用的Delphi版本,因此调用SHBrowseForFolder
需要做更多工作。您需要自己声明接口,并使用IFileDialog
创建它的实例。
答案 1 :(得分:2)
Win32 SHBrowseForFolder()
函数以及RTL的重载SelectDirectory()
函数确实支持网络路径。只需将Root
参数设置为空字符串,即可在对话框中显示网络共享。