5

默认情况下,我们的 Windows 窗体应用程序将数据文件保存在用户的“我的文档”文件夹(在 XP 上)或“文档”文件夹(在 Vista 上)。我们通过调用来查找这个位置:

Environment.GetFolderPath( Environment.SpecialFolder.Personal )

我们确信这对于个人文件夹位于本地磁盘上的用户非常有用。我们不确定的是对其配置文件/个人数据文件夹有效的文件夹重定向的域用户。

我的问题是:无论文件夹重定向是否处于活动状态,上述调用是否都能正确解决?

我没有环境来测试这一点,而且我无法以一种或另一种方式找到任何明确的确认。

4

3 回答 3

3

是的,它确实。您可以通过更新文件夹的相应注册表项来自行测试。看下...

\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\
于 2008-11-13T03:06:58.253 回答
2

我有一个用户在Environment.GetFolderPath(Environment.SpecialFolder.Personal)我的文档被重定向到网络(它转到驱动器 O)的 XP 机器上的调用中报告了以下错误:

System.ArgumentException: Absolute path information is required.
   at System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)
   at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
   at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String path)
   at System.Environment.GetFolderPath(SpecialFolder folder, SpecialFolderOption option)
   at System.Environment.GetFolderPath(SpecialFolder folder)

我还没有直接访问此机器配置,但从谷歌搜索和用户的帮助来看,我相信重定向缺少尾随 \(例如 O: 而不是 O:\)。

所以我相信答案是否定的,它不会每次都正确解决

于 2012-07-19T14:49:00.303 回答
1

我希望它确实如此。两者Environment.GetFolderPath和底层的文档都SHGetSpecialFolderPath没有表明它不能正确解析,我也找不到任何你会使用它的地方。

于 2008-11-13T02:53:12.383 回答