4

我已经阅读了有关使用 Environment 类获取它的信息,但找不到它。

多谢你们。

4

4 回答 4

7

一种基于 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();
}
于 2011-06-06T14:57:23.193 回答
4

您可以使用 WMI 执行此操作;添加对 System.Management.dll 的引用和 System.Management 命名空间的 using 语句,然后调用以下代码:

ManagementObjectSearcher mos =
  新的 ManagementObjectSearcher(@"root\CIMV2", @"SELECT * FROM Win32_ComputerSystem");
foreach (在 mos.Get() 中的 ManagementObject mo) {
  Console.WriteLine(mo["工作组"]);
}
于 2010-04-25T15:25:44.963 回答
4

我使用此处建议的 WMI 选项尝试了此操作,但结果在我的机器(以及我办公室的其他几台机器)上速度非常慢(有时超过 5 秒)。最终为我工作的是使用 API 调用“NetGetJoinInformation”(PInvoke.net)。API 调用对我来说返回得非常快,并且完全符合我的需要。

于 2015-03-28T01:19:18.770 回答
0

这里的例子。您将不得不使用 P/Invoke。

于 2010-04-25T14:54:50.643 回答