C#程序列出用户及其各自的目录路径

时间:2012-04-27 06:56:00

标签: c# windows

我希望C#中有任何方法可以找到系统i中可用的用户列表,例如我的计算机及其目录的路径。我的意思是假设有2个用户

“用户A”和“用户B”

他们的路径我的意思是用户A的所有文件都在D:\ Documents and Settings \ User A中 用户B也是如此。

C#中是否有任何方法可以找出用户列表及其各自目录的路径。

1 个答案:

答案 0 :(得分:4)

你可以这样做

string users_reg_key=
   @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DocFolderPaths";

public string[] ListWinUsersList()
{
 //The registry key for reading user list.

 RegistryKey key =
 Registry.LocalMachine.OpenSubKey(users_reg_key, true);

 string[] winusers = "  ".Split(' ');//this resolve problem with assigned variable

 if (key != null && key.ValueCount > 0)
 {
     winusers = key.GetValueNames();
 }
 return winusers;
}

修改

获取目录尝试类似这样的

string path =  Directory.GetParent(Environment.GetFolderPath(Environment.
SpecialFolder.ApplicationData)).FullName;
if ( Environment.OSVersion.Version.Major >= 6 ) {
 path = Directory.GetParent(path);
}