如何获取默认用户文件夹(例如c:\ users \ Default)
我已经查看了Environment.GetFolderPath方法和System.Environment.SpecialFolder枚举,但看不到任何返回Default Users文件夹路径的东西.
I've looked at the Environment.GetFolderPath method and the System.Environment.SpecialFolder enum but I couldn't see anything that returns the path of the Default Users folder.
有人可以告诉我如何以编程方式获取默认用户"文件夹(或更好的默认用户AppData本地"文件夹路径,例如c:\ users \ Default \ AppData \ Local),因为我需要将一些文件复制到该文件夹中?
Can someone please tell me how to get the Default Users folder (or even better the Default Users AppData Local folder path e.g. c:\users\Default\AppData\Local) programmatically as I need to copy some files into this folder?
谢谢
网络上有很多文章描述如何更改默认用户配置文件路径:
There are lots of articles on the web that describe how to change the Default User Profile path:
http://support.microsoft.com/kb/214636
http://www.nextofwindows.com/how-to-change-user-profile-default-location-in-windows-7/
他们都说当前的默认配置文件路径存储在以下注册表位置:
They all say the current Default Profile Path is stored in the following registry location:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
例如%SystemDrive%\ Users \ Default
e.g. %SystemDrive%\Users\Default
我找到了此页来获取系统驱动器:如何获取当前Windows目录,例如C#中的C:\
And I found this page to get the System Drive: How to get current windows directory e.g. C:\ in C#
Path.GetPathRoot(Environment.SystemDirectory)
所以我将使用它.感谢您的帮助.
So I'm going to use that. Thanks for your help.
更新
我刚刚尝试了以下代码,它返回C:\ Users \ Default.因此,无需替换存储在注册表项中的%SystemDrive%文本.它会自动替换它.
I've just tried the following code and it returns C:\Users\Default. So there is no need to replace the %SystemDrive% text stored in the registry key. It replaces it automatically.
using (RegistryKey profileListKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"))
{
string defaultPath = profileListKey.GetValue("Default").ToString();
}