1. 程式人生 > >C# 獲取本機網絡卡資訊、個數、描述資訊、型別、速度等

C# 獲取本機網絡卡資訊、個數、描述資訊、型別、速度等

程式碼比較簡單,直接上圖上碼。

實現程式碼有註釋,以下是該例子的完整程式碼。

引入名稱空間:

using System.Net.NetworkInformation;
using System.Net;


完整程式碼:

namespace NetworkInterfaceExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            ShowAdapterInfo();
        }

        /// <summary>
        /// 顯示網絡卡資訊
        /// </summary>
        private void ShowAdapterInfo()
        {
            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            lst_NetworkAdapter.Items.Add("介面卡個數:" + adapters.Length);
            int index = 0;

            foreach (NetworkInterface adapter in adapters)
            {
                index++;
                //顯示網路介面卡描述資訊、名稱、型別、速度、MAC 地址
                lst_NetworkAdapter.Items.Add("---------------------第" + index + "個介面卡資訊---------------------");
                lst_NetworkAdapter.Items.Add("描述資訊:" + adapter.Name);
                lst_NetworkAdapter.Items.Add("型別:" + adapter.NetworkInterfaceType);
                lst_NetworkAdapter.Items.Add("速度:" + adapter.Speed / 1000 / 1000 + "MB");
                lst_NetworkAdapter.Items.Add("MAC 地址:" + adapter.GetPhysicalAddress());
                
                //獲取IPInterfaceProperties例項
                IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
                
                //獲取並顯示DNS伺服器IP地址資訊
                IPAddressCollection dnsServers = adapterProperties.DnsAddresses;
                if (dnsServers.Count > 0)
                {
                    foreach (IPAddress dns in dnsServers)
                    {
                        lst_NetworkAdapter.Items.Add("DNS 伺服器IP地址:" + dns + "\n");
                    }
                }
                else
                {
                    lst_NetworkAdapter.Items.Add("DNS 伺服器IP地址:" + "\n");
                }
            }
        }
    }
}