在C#编程中,要获取主机名和主机IP地址,是比较容易的.它提供的Dns类,可以轻松的取得主机名和IP地址.
示例:
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP
string strAddr = ipEntry.AddressList[0].ToString(); //假设本地主机为单网卡
在这段代码中使用了两个类,一个是Dns类,另一个为IPHostEntry类,二者都存在于命名空间System.Net中.
using System.Net
Mac地址的例子
- using System;
- using System.Management;
- using System.Net;
-
- public class Program
- {
- static void Main(string[] args)
- {
- try
- {
- string ip = "";
- string mac = "";
- ManagementClass mc;
- string hostInfo = Dns.GetHostName();
-
-
- System.Net.IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList;
- for (int i = 0; i < addressList.Length; i++)
- {
- ip = addressList[i].ToString();
- }
-
- mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
- ManagementObjectCollection moc = mc.GetInstances();
- foreach (ManagementObject mo in moc)
- {
- if (mo["IPEnabled"].ToString() == "True")
- {
- mac = mo["MacAddress"].ToString();
- }
- }
-
- string outPutStr = "IP:{0},\n MAC地址:{1}";
- outPutStr = string.Format(outPutStr, ip, mac);
- Console.WriteLine(outPutStr);
- }
- catch (Exception e)
- { }
- Console.ReadLine();
- }
- }