文件夹重定向处于活动状态时解析'Environment.SpecialFolder.Personal'

时间:2008-11-13 02:40:49

标签: .net winforms windows-xp

我们的Windows窗体应用程序默认将数据文件保存在用户的“我的文档”文件夹(在XP上)或“文档”文件夹中(在Vista上)。我们通过致电查询此位置:

Environment.GetFolderPath( Environment.SpecialFolder.Personal )

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

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

我没有环境来测试这个,我无法找到任何明确的确认方式。

3 个答案:

答案 0 :(得分:2)

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

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell文件夹

答案 1 :(得分:1)

我希望它能做到。 Environment.GetFolderPath和基础SHGetSpecialFolderPath的文档都没有任何迹象表明它无法正确解析,也无法找到任何可以使用它的地方。

答案 2 :(得分:1)

我知道已经有一段时间了,但我想在此报告我有一个用户在我的文档是的XP机器上的Environment.GetFolderPath(Environment.SpecialFolder.Personal)调用上报告以下错误。重定向到网络(它去驱动O):

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:\)。

所以我相信答案是不,每次都没有正确解决