Есть ли класс.net или пространство имен для просмотра компьютеров в сети?

Я пытаюсь написать приложение wpf, которое позволяет мне просматривать список серверов / компьютеров в сети (AD или рабочая группа).

В прошлом я открывал окна типа проводника для просмотра папок или каталогов, используя такой код, как

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

Но в этом случае мне не нужно, чтобы пользователь выбирал папку или файл, просто просматривал имена машин в сети.

Кто-нибудь может предложить какие-либо классы.net или пространства имен, которые поддерживают этот тип функциональности? Я сделал небольшое беглое чтение по WMI, и похоже, что пространство имен System.Management может быть маршрутом. Может ли кто-нибудь дать мне несколько советов о том, какие методы я хочу использовать в этом пространстве имен?

-Cheers

1 ответ

Решение

C#: вы можете использовать Gong Solutions Shell Library

использование System.Collections; using System.Collections.Generic; используя GongSolutions.Shell; using 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();
    }
}
Другие вопросы по тегам