如何获取Default Users文件夹(例如c:\ users\Default)

m_c*_*ard 7 .net c#

我查看了Environment.GetFolderPath方法和System.Environment.SpecialFolder枚举,但是我看不到任何返回Default Users文件夹路径的内容.

有人可以告诉我如何以编程方式获取默认用户文件夹(或甚至更好的默认用户AppData本地文件夹路径,例如c:\ users\Default\AppData\Local),因为我需要将一些文件复制到此文件夹中?

谢谢

m_c*_*ard 6

Web上有很多文章描述了如何更改默认用户配置文件路径:

http://support.microsoft.com/kb/214636

http://www.nextofwindows.com/how-to-change-user-profile-default-location-in-windows-7/

他们都说当前的默认配置文件路径存储在以下注册表位置:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
Run Code Online (Sandbox Code Playgroud)

例如%SystemDrive%\ Users\Default

我找到了这个页面来获取系统驱动器: 如何获取当前的Windows目录,例如C:\ in C#

Path.GetPathRoot(Environment.SystemDirectory)
Run Code Online (Sandbox Code Playgroud)

所以我打算用它.谢谢你的帮助.

UPDATE

我刚刚尝试了以下代码,它返回C:\ Users\Default.因此,无需替换存储在注册表项中的%SystemDrive%文本.它会自动替换它.

using (RegistryKey profileListKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"))
{
    string defaultPath = profileListKey.GetValue("Default").ToString();
}
Run Code Online (Sandbox Code Playgroud)