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 オプションを使用してこれを試してみましたが、私のマシン (および私のオフィスの他のいくつか) では、非常に遅い (5 秒以上の場合もあります) ことが判明しました。私にとってうまくいったのは、API呼び出し「NetGetJoinInformation」(PInvoke.net)を使用することでした。API 呼び出しは非常に迅速に返され、必要なことを正確に実行します。

于 2015-03-28T01:19:18.770 に答える
4

これは WMI で行うことができます。System.Management.dll への参照と System.Management 名前空間の using ステートメントを追加してから、次のコードを呼び出します。

ManagementObjectSearcher mos =
  new ManagementObjectSearcher(@"root\CIMV2", @"SELECT * FROM Win32_ComputerSystem");
foreach (Mos.Get() の ManagementObject mo) {
  Console.WriteLine(mo["ワークグループ"]);
}
于 2010-04-25T15:25:44.963 に答える
0

例については、こちらをご覧ください。P/Invoke を使用する必要があります。

于 2010-04-25T14:54:50.643 に答える