C#取得デバイスのIPとMacクラス

1254 ワード

 /// <summary>

    ///  Ip Mac

    /// </summary>

    public class Mac

    {

        [DllImport("Iphlpapi.dll")]

        private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length);

        [DllImport("Ws2_32.dll")]

        private static extern Int32 inet_addr(string ip); 



        // IP

        public string getLocalIP()

        {

            string strHostName = Dns.GetHostName(); // 

            IPHostEntry ipEntry = Dns.GetHostEntry(strHostName); // IP

            string strAddr = ipEntry.AddressList[0].ToString();

            return (strAddr);

        }

        // MAC

        public string getLocalMac()

        {

            string mac = null;

            ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");

            ManagementObjectCollection queryCollection = query.Get();

            foreach (ManagementObject mo in queryCollection)

            {

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

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

            }

            return (mac);

        }



    }