c# 怎么获取本机真实的mac 地址

2024-12-28 20:17:41
推荐回答(5个)
回答1:

C#获取本机的MAC地址,参考代码如下:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Management;  
  
namespace _17获取MAC地址  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            ManagementObjectSearcher nisc = new ManagementObjectSearcher("select * from Win32_NetworkAdapterConfiguration");  
            foreach (ManagementObject nic in nisc.Get())   
            {  
                if (Convert.ToBoolean(nic["ipEnabled"]) == true)   
                {  
                    Console.WriteLine("{0} - {1}", nic["ServiceName"], nic["MACAddress"]);  
                }  
            }  
  
            Console.ReadKey();  
        }  
    }  
}

回答2:

using System; using System.Collections.Generic;
using System.ComponentModel;

using System.Data; using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.Management;

using System.Net.Sockets; using System.Collections; //using System.ComponentModel;using System.Windows.Forms;using System.Data;

namespace test {

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

string s="",mac="";

string hostInfo = Dns.GetHostName();

System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;

for (int i = 0; i < addressList.Length; i ++)

{

s += addressList[i].ToString(); } ManagementClass mc;

mc=new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc=mc.GetInstances();

foreach(ManagementObject mo in moc)

{

if(mo["IPEnabled"].ToString()=="True")

mac=mo["MacAddress"].ToString();

this.textBox1.AppendText(mac + "\n\r\n\r");

}

this.Text+=hostInfo;

this.Text+=s;

this.Text+=mac;

// button1.Enabled=false; button2.Focus();

}

}

}

回答3:

protected string getHostIpName()
{
string mac = "";
ManagementClass mc;
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (mo["IPEnabled"].ToString() == "True")
mac = mo["MacAddress"].ToString();
}
return mac;
}
直接调用,返回的就是

回答4:

返回值是MAC地址。
public static string GetMACAddress()
{
string MoAddress = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
MoAddress = mo["MacAddress"].ToString();
mo.Dispose();
}
return MoAddress;
}

回答5:

using System.Management;
...
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
if((bool)mo["IPEnabled"] == true)
Console.WriteLine("MAC addresst{0}", mo["MacAddress"].ToString());
mo.Dispose();
}