2013-03-06 4 views
0

Мне нужно отобразить весь IP-адрес моей локальной сети в ListBox. Когда я пытаюсь связать его пустой.Показать все 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); 

Где я ошибаюсь?

+0

Возможный дубликат, пожалуйста, смотрите по следующей ссылке, [http://stackoverflow.com/questions/965088/get-all-ips-in-the-same-network-as-my-computer][1] [1]: http://stackoverflow.com/questions/965088/get-all-ips-in-the-same-network-as-my-computer –

ответ

0

Необходимо добавить строку в процесс.

// Код

netUtility.StartInfo.Arguments = "view"; 

Сейчас он работает отлично !!!

1

Где вы можете просто использовать этот метод гораздо более гибким и простым в использовании/понять:

C# код: по этой ссылке: Get All IP Addresses on Machine

// 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) 
{ 
    .... 
} 
+0

Вы попробовали? –

Смежные вопросы