7

如何在 c# 中为 windows mobile 6.0 设备以编程方式获取 MAC 地址?.net compatc framework 3.5 不支持 System.Net.NetworkInformation。

4

2 回答 2

3

我知道这已经有一段时间了,但我需要这个,并发现我可以使用上面代码的 OpenNETCF 版本进行调整:

INetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
//for each j you can get the MAC 
PhysicalAddress address = nics[0].GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
for(int i = 0; i < bytes.Length; i++) {
    // Display the physical address in hexadecimal. 
    Console.Write("{0}", bytes[i].ToString("X2"));
    // Insert a hyphen after each byte, unless we are at the end of the address. 
    if(i != bytes.Length - 1) {
        Console.Write("-");
    }
}
于 2012-12-28T22:05:01.300 回答
0

我们可以在此类问题中使用 MDSDK,例如

using PsionTeklogix.Peripherals;
namespace EnumAdapters
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            ArrayList pList = null;
            string[] lStatistic = null;

            try
            {
                pList = Peripherals.EnumerateAdapters();
            }
            catch (Exception ex)
            {
                MessageBox.Show("failed with\r\n" + ex.Message, "EnumerateAdapters()");
                Close();
                return;
            }

            listBox1.Items.Clear();

            foreach (string AdapterName in pList)
            {
                try
                {
                    listBox1.Items.Add(AdapterName + (Peripherals.IsAdapterPresent(AdapterName) ? " is present" : " is NOT present") + (Peripherals.IsWirelessAdapter(AdapterName) ? " [wireless adapter] " : ""));
                    lStatistic = Peripherals.GetAdapterStatistics(AdapterName); // See Note 1
                    foreach (string StatInfo in lStatistic)
                    {
                        if (StatInfo.StartsWith("Local MAC Address"))
                        {
                            listBox1.Items.Add("» " + StatInfo);
                            break;
                         }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    Close();
                    return;
                }
            }
        }
    }
}
于 2012-09-07T07:47:26.687 回答