2

ネットワーク (AD またはワークグループ) 上のサーバー/コンピューターのリストを参照できる wpf アプリを作成しようとしています。

過去に、次のようなコードを使用してフォルダーまたはディレクトリを参照するためにエクスプローラータイプのウィンドウを開きました

System.Diagnostics.Process.Start("Explorer.exe");

ただし、この場合、ユーザーがフォルダーやファイルを選択する必要はなく、ネットワーク上のマシンの名前を表示するだけです。

このタイプの機能をサポートする .net クラスまたは名前空間を提案できる人はいますか? WMI についてざっと読んだところ、System.Management 名前空間が取るべきルートであるかのように見えます。この名前空間からどのメソッドを調べたいかを絞り込むための提案を誰かに提供してもらえますか?

-乾杯

4

1 に答える 1

0

C#: Gong Solutions Shell Library を使用できます

System.Collections を使用します。System.Collections.Generic の使用; GongSolutions.Shell の使用; GongSolutions.Shell.Interop の使用;

public sealed class ShellNetworkComputers : IEnumerable<string>
{
    public IEnumerator<string> GetEnumerator()
    {
        ShellItem folder = new ShellItem((Environment.SpecialFolder)CSIDL.NETWORK);
        IEnumerator<ShellItem> e = folder.GetEnumerator(SHCONTF.FOLDERS);

        while (e.MoveNext())
        {
            Debug.Print(e.Current.ParsingName);
            yield return e.Current.ParsingName;
        }
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}
于 2012-10-27T22:00:40.693 に答える