1

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

是否可以获取用户目录?

或者有没有办法获取 DefaultUser 目录的路径?

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

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

4

3 回答 3

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

string userFolderParentPath = System.IO.Directory.GetParent(path).FullName ;
于 2012-06-25T08:57:51.493 回答
2

你可以看到http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

于 2012-06-25T08:57:34.390 回答
2

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

您要查找的数据存在于注册表中。

像这样阅读它:

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

您的应用将需要足够的权限来读取注册表。

于 2012-06-29T17:19:05.520 回答