private voidbutton4_Click(object sender, EventArgs e)
{
GetIP();
textBox1.Text = GetAddressIP();
textBox2.Text = getHostIpName();
}
privatevoid GetIP()
{ //Using System.net
stringhostName = Dns.GetHostName();//本机名
//System.Net.IPAddress[]addressList = Dns.GetHostByName(hostName).AddressList;//会警告GetHostByName()已过期,我运行时且只返回了一个IPv4的地址¤
System.Net.IPAddress[]addressList = Dns.GetHostAddresses(hostName);//会返回所有地址,包括IPv4和IPv6
foreach (IPAddress ip inaddressList)
{
listBox1.Items.Add(ip.ToString());
}
MessageBox.Show(hostName);
}
///<summary>
///获取本地的IP地址信息
///</summary>
protectedstring GetAddressIP()
{
///获取本地的IP地址信息
stringAddressIP = string.Empty;
foreach(IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
{
if(_IPAddress.AddressFamily.ToString() == "InterNetwork")
{
AddressIP =_IPAddress.ToString();
}
}
returnAddressIP;
// textBox1.Text = AddressIP;
}
//获取本机MAC地址
//usingSystem.Management; 然后右击网站—添加引用——选 System.Management
protectedstring getHostIpName()
{
stringmac = "";
ManagementClassmc;
mc = newManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollectionmoc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
if(mo["IPEnabled"].ToString() == "True")
mac = mo["MacAddress"].ToString();
}
returnmac;
}
本文介绍了一种使用C#语言获取计算机本地IP地址及MAC地址的方法。通过调用System.Net和System.Management命名空间下的API,实现了对IPv4地址及网络适配器配置信息的读取。

被折叠的 条评论
为什么被折叠?



