以编程方式获取C:\ Users

时间:2012-06-25 08:55:37

标签: c# .net-3.5

据我所知,用户(通常是C:\ Users)的标准文件夹可以更改(例如C:\ xzy \ Users)。

是否可以获取用户目录?

或者是否有方法获取DefaultUser目录的路径?

我必须在.NET Framework 3.5中处理此问题

编辑:另一个问题是,当应用程序作为服务用户(例如系统)运行时,%userprofile%将位于C:\ Windows

中的某个位置

3 个答案:

答案 0 :(得分:3)

string userFolderpath = System.IO.Directory.GetParent
(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName;

string userFolderParentPath = System.IO.Directory.GetParent(path).FullName ;

答案 1 :(得分:2)

答案 2 :(得分:2)

当我看到让我想起这个问题的东西时,我正在做别的事情。

您正在寻找的数据存在于注册表中。

这样读:

(string)Registry.GetValue(
  @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList",
  "ProfilesDirectory","")

您的应用需要足够的权限才能阅读注册表。