程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 本機信息與局域網信息的獲取

C# 本機信息與局域網信息的獲取

編輯:C#入門知識

本機信息與局域網信息的獲取,需要用到Management這個類,這個類的功能十分強大,可以實現的事情也很多,下面我來列舉部分實現本機與局域網信息的例子。

首先對項目添加System.Management引用,然後在代碼上面輸入using System.Management

下面來看看如何取得本機信息:
 


        private static string ipAddress = "";
        static void Main(string[] args)
        {
            string macAddress = "";
            
            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection mac = mc.GetInstances();            
            foreach (ManagementObject mo in mac)
            {
                if ((bool)mo["IPEnabled"] == true)
                {
                    macAddress += mo["MacAddress"].ToString();
                }           
            }
            macAddress = macAddress.Replace(:, -);

            IPAddress[] ipAddressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
            for (int i = 0; i < ipAddressList.Length; i++)
            {
                ipAddress += ipAddressList[i].ToString();
            }
            Console.WriteLine(macAddress);   //MacAddress
            Console.WriteLine(ipAddress);   //IPAddress
            Console.WriteLine(Dns.GetHostName());   //HostName
            Console.WriteLine(Environment.UserName);   //UserName
            Console.WriteLine(Environment.UserDomainName);   //DomainName           
            Console.ReadLine();
        }

 


上面有代碼會輸出如下信息:

00-1E-C9-29-59-D7
192.168.1.1
NON-Alex
Alex
CompanyLan

下面是通過IP進行判斷,局域網裡面的本網段主機: