编程如何实现通过MAC地址获其对应的IP地址?
解决方案 »
- 怎样在winform里实现类似百度或腾讯的图片查看功能呢上面是一幅大图下面是许多缩略图可以前后随意翻看,请大家发表一下建议,谢谢
- OpenFileDialog1_FileOk事件问题
- C#调用C++函数,数据类型问题???急!!!求高手,拜谢!!!
- 基于SQL SERVER数据库的.NET程序发布问题?详情请进
- 请问那些东西右间点击使用某些程序打开而且该程序就会以打开文件的方式打开是怎么做的
- 求助:关于单选按纽的问题,相信你一定没有注意过
- 救命啊:请问如何在水晶报表中通过程序设置打印的纸张的大小?
- 如何使验证控件失效?
- 请帮我看看,如何把一段XML转换为N个任务(数组),多谢
- 如何将一个string写入一个stream?
- DataGrid的数据源指定为IList的问题
- 关于多线程问题,实现两个进程互不影响(一边在后台下载一边前台继续操作)
public static extern int SendARP( int DestIP, int SrcIP, [Out] byte[] pMacAddr, ref int PhyAddrLen ); // Use Your work Group WinNT://&&&&(Work Group Name)
DirectoryEntry DomainEntry = new DirectoryEntry("WinNT://" + "workgroup");
DomainEntry.Children.SchemaFilter.Add("computer");
// To Get all the System names And Display with the Ip Address
foreach(DirectoryEntry machine in DomainEntry.Children)
{
string[] Ipaddr = new string[3];
Ipaddr[0] = machine.Name; System.Net.IPHostEntry Tempaddr = null; try
{
Tempaddr = (System.Net.IPHostEntry)Dns.GetHostByName(machine.Name);
}
catch(Exception ex)
{
MessageBox.Show("Unable to connect woth the system :" + machine.Name );
continue;
}
System.Net.IPAddress[] TempAd = Tempaddr.AddressList;
foreach(IPAddress TempA in TempAd)
{
Ipaddr[1] = TempA.ToString(); byte[] ab = new byte[6];
int len = ab.Length; // This Function Used to Get The Physical Address
int r = SendARP( (int) TempA.Address, 0, ab, ref len );
string mac = BitConverter.ToString( ab, 0, 6 ); Ipaddr[2] = mac;
}
System.Windows.Forms.ListViewItem TempItem = new ListViewItem(Ipaddr); this.ListHostIP.Items.Add(TempItem);
}