我必须开发一个桌面应用程序,它允许我在本地网络上共享文件。为此,我可以获得一个listview
设备主机名,但是当我知道他们的 IP 地址和 MAC 时,我去查看System.net
了其他几个 MSDN 论坛(地铁应用程序的帮助可用)。
如何获取本地网络上所有设备的 IP 地址和 MAC 地址?
我DirectoryEntry
用来获取用户名并显示在listview
.
lstLocal.Items.Clear();
lstLocal.View = View.Details;
lstLocal.FullRowSelect = true;
DirectoryEntry root = new DirectoryEntry("WinNT:");
foreach (DirectoryEntry computers in root.Children)
{
foreach (DirectoryEntry computer in computers.Children)
{
if (computer.Name != "Schema")
{
ListViewItem item = new ListViewItem(computer.Name);
// item.SubItems.Add(computer.Name);
//MessageBox.Show(computer.Name);
lstLocal.Items.Add(item);
}
}
}
更新:我用过
var hostname = Dns.GetHostName();
var ipadd = Dns.GetHostAddresses(hostname);
但地址是在 IPV6 中返回的。我需要它在 IPV4 中。