在一些需要注册码的软件中,经常会用到以电脑MAC地址为基础的加密串,这里笔者就给大家介绍C#获取本机的MAC地址(物理地址)。
C#实现的小功能:[5]C#获取MAC地址(网卡ID)――工具/原料Visual Studio(VS)2010 C#
.Net Framework 4.0及以上
C#实现的小功能:[5]C#获取MAC地址(网卡ID)――方法/步骤C#实现的小功能:[5]C#获取MAC地址(网卡ID) 1、
这里要用到三个类:ManagementClass 、ManagementObjectCollection 和ManagementObject
需要添加.Net引用:System.Management
并添加命名空间:using System.Management;
C#实现的小功能:[5]C#获取MAC地址(网卡ID) 2、
首先建立一个CIM管理类:
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
Win32_NetworkAdapterConfiguration是WMI中的一个Win32类
C#实现的小功能:[5]C#获取MAC地址(网卡ID) 3、
然后得到WMI实例的集合:
ManagementObjectCollection moc = mc.GetInstances();
C#实现的小功能:[5]C#获取MAC地址(网卡ID) 4、
最后遍历集合即可得到MAC地址(一个):
stringmac = "";
foreach (ManagementObject mo in moc)
if ((bool)mo["IPEnabled"] == true)
{
mac += mo["MacAddress"].ToString() + " ";
break;
}
这里只是得到了一个可用的MAC地址,读者可以根据需要修改,删除if判断、break等语句。
C#实现的小功能:[5]C#获取MAC地址(网卡ID) 5、
读者也可以将其封装成一个方法:
/// <summary>
/// 获取网卡ID代码
/// </summary>
/// <returns></returns>
public static string GetNetworkAdpaterID()
{
try
{
string mac = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
if ((bool)mo["IPEnabled"] == true)
{
mac += mo["MacAddress"].ToString() + " ";
break;
}
moc = null;
mc = null;
return mac.Trim();
}
catch (Exception e)
{
return "uMnIk";
}
}
C#实现的小功能:[5]C#获取MAC地址(网卡ID) 6、
OK,搞定,这样就可以获得MAC地址了,呵呵!
C#实现的小功能:[5]C#获取MAC地址(网卡ID)_managementclass
C#实现的小功能:[5]C#获取MAC地址(网卡ID)――注意事项如果此文章对您有所帮助,请关注本人并收藏此文章。谢谢您的支持!(任何疑问,欢迎留言!)