获取计算机名、IP和MAC地址是C#编程中非常常见的需求之一。下面是一些实现方法和示例代码。
获取计算机名
获取计算机名的方法是使用System.Environment类中的MachineName属性。
示例代码如下:
string computerName = System.Environment.MachineName;
Console.WriteLine("计算机名:" + computerName);
获取IP地址
获取IP地址的方法有很多种,这里介绍其中两种比较常用的方法:
方法1:使用System.Net.NetworkInformation类
示例代码如下:
using System.Net.NetworkInformation;
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
if (ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet || ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
{
IPInterfaceProperties ipProperties = ni.GetIPProperties();
foreach (UnicastIPAddressInformation ip in ipProperties.UnicastAddresses)
{
if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
Console.WriteLine("IP地址:" + ip.Address);
}
}
}
}
方法2:使用Dns类
这种方法比较简单,只需要调用Dns类的GetHostName方法就可以获取IP地址。
示例代码如下:
string hostName = Dns.GetHostName();
IPHostEntry ipEntry = Dns.GetHostEntry(hostName);
IPAddress[] ips = ipEntry.AddressList;
foreach (IPAddress ip in ips)
{
if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
Console.WriteLine("IP地址:" + ip.ToString());
}
}
获取MAC地址
获取MAC地址的方法也有很多种,这里介绍其中比较常用的一种方法:使用ManagementObjectSearcher类。
示例代码如下:
using System.Management;
ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
foreach (ManagementObject mo in mos.Get())
{
string macAddress = (string)mo["MacAddress"];
Console.WriteLine("MAC地址:" + macAddress);
}
需要注意的是,有时候获取MAC地址需要管理员权限,否则可能会出现权限不足的错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#获取计算机名,IP,MAC信息实现代码 - Python技术站