C#WindowCE获取本机Mac地址

public static extern uint SendARP(uint DestIP, uint SrcIP, byte[] pMacAddr, ref uint PhyAddrLen);
        public string GetMac()
        {
            uint ip = 0;
            string mac = string.Empty;
            //取本机IP列表
            IPAddress[] ips = Dns.GetHostEntry(Dns.GetHostName()).AddressList;
            //取本机IP 
            byte[] ipp = ips[0].GetAddressBytes();
            ip = (uint)((ipp[0]) | (ipp[1] << 8) | (ipp[2] << 16) | (ipp[3] << 24));
            //取MAC 
            byte[] MacAddr = new byte[6];
            uint PhyAddrLen = 6;
            uint hr = SendARP(ip, 0, MacAddr, ref PhyAddrLen);
            if (MacAddr[0] != 0 || MacAddr[1] != 0 || MacAddr[2] != 0 || MacAddr[3] != 0 || MacAddr[4] != 0 || MacAddr[5] != 0)
            {
                mac = MacAddr[0].ToString("X2") + ":" + MacAddr[1].ToString("X2") + ":" +
                      MacAddr[2].ToString("X2") + ":" + MacAddr[3].ToString("X2") + ":" +
                MacAddr[4].ToString("X2") + ":" + MacAddr[5].ToString("X2");
            }
            return mac;
        }

你可能感兴趣的:(C#WindowCE获取本机Mac地址)