是否有.net类/命名空间用于浏览网络上的计算机

时间:2012-10-27 21:44:36

标签: c#-4.0 system.diagnostics

我正在尝试编写一个wpf应用程序,允许我浏览网络上的服务器/计算机列表(AD或工作组)。

过去,我使用

等代码打开了浏览器类型窗口,用于文件夹或目录浏览
System.Diagnostics.Process.Start("Explorer.exe");

但在这种情况下,我不需要用户选择文件夹或文件只需查看网络上的计算机名称。

任何人都可以建议任何支持此类功能的.net类或命名空间吗?我已经对WMI做了一些粗略的阅读,看起来好像System.Management命名空间可能是要采取的路径。任何人都可以向我提供一些建议,以缩小我可能希望从这个命名空间中查看的方法吗?

-Cheers

1 个答案:

答案 0 :(得分: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();
    }
}