我已经阅读了有关使用 Environment 类获取它的信息,但找不到它。
多谢你们。
一种基于 Jono 响应的方式,但更短:
public static string GetWorkGroup()
{
ManagementObject computer_system = new ManagementObject(
string.Format(
"Win32_ComputerSystem.Name='{0}'",
Environment.MachineName));
object result = computer_system["Workgroup"];
return result.ToString();
}
您可以使用 WMI 执行此操作;添加对 System.Management.dll 的引用和 System.Management 命名空间的 using 语句,然后调用以下代码:
ManagementObjectSearcher mos = 新的 ManagementObjectSearcher(@"root\CIMV2", @"SELECT * FROM Win32_ComputerSystem"); foreach (在 mos.Get() 中的 ManagementObject mo) { Console.WriteLine(mo["工作组"]); }
我使用此处建议的 WMI 选项尝试了此操作,但结果在我的机器(以及我办公室的其他几台机器)上速度非常慢(有时超过 5 秒)。最终为我工作的是使用 API 调用“NetGetJoinInformation”(PInvoke.net)。API 调用对我来说返回得非常快,并且完全符合我的需要。
看这里的例子。您将不得不使用 P/Invoke。