据我所知,用户的标准文件夹(通常是 C:\Users)可以更改(例如 C:\xzy\Users)。
是否可以获取用户目录?
或者有没有办法获取 DefaultUser 目录的路径?
我必须在 .NET Framework 3.5 中处理这个问题
编辑:另一个问题是,当应用程序作为服务用户(例如系统)运行时,%userprofile% 将位于 C:\Windows 中的某个位置
string userFolderpath = System.IO.Directory.GetParent
(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName;
string userFolderParentPath = System.IO.Directory.GetParent(path).FullName ;
当我看到一些让我想起这个问题的东西时,我正在做其他事情。
您要查找的数据存在于注册表中。
像这样阅读它:
(string)Registry.GetValue(
@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList",
"ProfilesDirectory","")
您的应用将需要足够的权限来读取注册表。