1.
ArrayList alAllLocalIp = new ArrayList();
System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");System.Management.ManagementObjectCollection nics = mc.GetInstances();
foreach (System.Management.ManagementObject nic in nics)
{
if (Convert.ToBoolean(nic["ipEnabled"]) == true)
{
string IpAddress = (nic["IPAddress"] as String[])[0].ToString();
if (!alAllLocalIp.Contains(IpAddress) && IpAddress.Trim()!="0.0.0.0")
{
alAllLocalIp.Add(IpAddress);
}
}
}
2.
ArrayList alAllLocalIp = new ArrayList();
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP
for (int i = 0; i < ipEntry.AddressList.Length; i++)
{
alAllLocalIp.Add(ipEntry.AddressList[i].ToString());
}
通过使用Windows Management Instrumentation (WMI) API,此博客展示了如何在C#中获取计算机的所有本地IP地址。首先,通过创建一个`ManagementClass`实例并调用`GetInstances`方法来获取所有网络适配器配置。然后,遍历这些配置,检查每个网络适配器是否启用,并将启用且非默认的IP地址添加到`ArrayList`中。
404

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



