在一些需要注册码的软件中,经常会用到以电脑MAC地址为基础的加密串,这里笔者就给大家介绍C#获取本机的MAC地址(物理地址)。
方法/步骤
-
1
这里要用到三个类:ManagementClass 、 ManagementObjectCollection 和 ManagementObject
需要添加.Net引用:System.Management
并添加命名空间:using System.Management;
-
2
首先建立一个CIM管理类:
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
Win32_NetworkAdapterConfiguration 是WMI中的一个Win32类
-
3
然后得到WMI实例的集合:
ManagementObjectCollection moc = mc.GetInstances();
-
4
最后遍历集合即可得到MAC地址(一个):
string mac = "";
foreach (ManagementObject mo in moc)
if ((bool)mo["IPEnabled"] == true)
{
mac += mo["MacAddress"].ToString() + " ";
break;
}
这里只是得到了一个可用的MAC地址,读者可以根据需要修改,删除if判断、break等语句。
-
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";
}
}
-
6
OK,搞定,这样就可以获得MAC地址了,呵呵!
END
文章评论