我怎样才能得到本地计算机用户名在Windows使用C#的列表?
using System.Management; SelectQuery query = new SelectQuery("Win32_UserAccount"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); foreach (ManagementObject envVar in searcher.Get()) { Console.WriteLine("Username : {0}", envVar["Name"]); }
此代码与KeithS发布的链接相同。 几年前,我用它没有问题,但忘记了它来自哪里,谢谢基思。
我使用这段代码来获取我的本地Windows 7用户:
public static List<string> GetComputerUsers() { List<string> users = new List<string>(); var path = string.Format("WinNT://{0},computer", Environment.MachineName); using (var computerEntry = new DirectoryEntry(path)) foreach (DirectoryEntry childEntry in computerEntry.Children) if (childEntry.SchemaClassName == "User") users.Add(childEntry.Name); return users; }
你可以检查这是在Windows 7上这个正确的列表。
一种方法是列出C:\Documents and Settings
(在Vista / 7: C:\Users
)中的目录。
以下是获取本地计算机名称的几种不同方法:
string name = Environment.MachineName; string name = System.Net.Dns.GetHostName(); string name = System.Windows.Forms.SystemInformation.ComputerName; string name = System.Environment.GetEnvironmentVariable(“COMPUTERNAME”);