现在借用了网上老师的一些代码,想实现如标题描述的功能,现在是扫描到IP了,请问如何显示在listBox中(只显示干净的:IP+MAC+类型),
网上也看到有些老师用了一大堆的代码去实现,个人觉得以最少的代码去实现需要的功能是最理想的,现在基本实现扫描到数据了,就差显示了应该多不了几行代码了,不知道我理解的是否正确,还请看管们谅解;
本人刚接触C#,烦请路过的老师给个实际代码,跪谢您了!:
---------学习原则:贴代码要帖完整,助人学习也提高自己------------------
--------------------现完整代码如下:
using System;
using System.Windows.Forms;
using System.Diagnostics;
namespace arp_a_获取IP地址
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Process p = null;
string output = string.Empty;
try
{
p = Process.Start(new ProcessStartInfo("arp", "-a")
{
CreateNoWindow = true, //显示窗口
UseShellExecute = false, //关闭Shell的使用
RedirectStandardOutput = true, //重定向标准输出
});
output = p.StandardOutput.ReadToEnd();
}
catch (Exception ex)
{
throw new Exception("IPInfo: Error Retrieving 'arp -a' Results", ex);
}
finally
{
if (p != null)
{
p.Close();
//listBox1.Items.Add(p.MachineName);
//listBox1.Items.Add(p.StandardOutput.ReadToEnd());
listBox1.Items.Add(output);
}
}
}
}
}
output = p.StandardOutput.ReadToEnd(); string[] arrResult = output.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (var item in arrResult) { if (item.Contains("接口") || item.Contains("Internet")) continue; listBox1.Items.Add(item); }
finally块的代码应尽可能少
图片有点失真,可能要另存后再查看,第一次发帖,勿怪哦;
– 飞翔的小鸟A 6年前