0

我必须在 ListBox 中显示我的 LAN 的所有 IP 地址。当我试图将其绑定为空时。

// 代码

        Process netUtility = new Process(); 
        netUtility.StartInfo.FileName = "net.exe";

        netUtility.StartInfo.CreateNoWindow = true;


        netUtility.StartInfo.RedirectStandardOutput = true;

        netUtility.StartInfo.UseShellExecute = false;

        netUtility.StartInfo.RedirectStandardError = true;

        netUtility.Start();



        StreamReader streamReader = new StreamReader(netUtility.StandardOutput.BaseStream);



        string line = "";

        while ((line = streamReader.ReadLine()) != null)
        {

            if (line.StartsWith("\\"))
            {

                ListBox1.Items.Add(line.Substring(2).Substring(0, line.Substring(2).IndexOf(" ")).ToUpper());

            }

        }

        streamReader.Close();
        netUtility.WaitForExit(1000); 

我哪里错了?

4

2 回答 2

1

您可以在哪里简单地使用这种方法,更加灵活和易于使用/理解:

C# 代码:从此链接:获取机器上的所有 IP 地址

    // Get host name
String strHostName = Dns.GetHostName();

// Find host by name
IPHostEntry iphostentry = Dns.GetHostByName(strHostName);

// Enumerate IP addresses
int nIP = 0;
foreach(IPAddress ipaddress in iphostentry.AddressList)
{
    ....
}
于 2013-03-06T10:15:17.770 回答
0

需要在Process中添加一行。

// 代码

  netUtility.StartInfo.Arguments = "view";

现在它工作正常!!!

于 2013-03-06T10:14:32.400 回答