1

我希望在 C# 中有什么方法可以作为程序找出系统中可用的用户列表,即在我的计算机中以及他们的目录路径。我的意思是假设有 2 个用户

“用户 A”和“用户 B”

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

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

4

1 回答 1

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);
}
于 2012-04-27T07:01:33.687 回答