在win7中,SHBrowseForFolder不适用于网络选择

时间:2009-11-09 03:21:28

标签: shell visual-c++

我在代码中使用SHBrowseForFolder。它在XP中运行良好。但我发现它在Windows 7中使用相同的代码并不能很好地运行。当我点击网络时,它什么也没做。但它可以在XP中扩展。顺便说一句,我有权访问另一台计算机的网络,我尝试使用资源管理器访问该资源,没关系!

有谁能告诉我如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

不确定这是你想要的帮助,但我在函数MSDN page上找到了这个:

  

对于Windows Vista或更高版本,它是   建议您使用IFileDialog   而是使用FOS_PICKFOLDERS选项   比SHBrowseForFolder函数。   这使用了“打开文件”对话框   选择文件夹模式,是首选   实施

答案 1 :(得分:0)

应该是:

BROWSEINFO bi;  
// ..... omit oters
bi.ulFlags = /*BIF_DONTGOBELOWDOMAIN |*/ BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;

我再向ulFlags添加一个标志BIF_BROWSEFORCOMPUTER

答案 2 :(得分:0)

这里有一个COMMDLG的FileDialog API和IFileDlg接口的混合,后者仅存在于Vista和Win2008 Server中。