C# 获取MAC地址
标签:strong stat returns list res shel serve 通过命令 contains
通过CMD命令进行获取
使用CMD命令这将面临语言编码问题,可以通过命令让系统默认采用美国英文来显示:
MacAddress = MacAddressHelper.GetMacByIpConfig() ?? MacAddressHelper.GetMacByWmi().FirstOrDefault() ?? "unknown"; //通过命令让系统默认采用美国英文来显示:
///
/// 根据截取ipconfig /all命令的输出流获取网卡Mac,支持不同语言编码
///
///
public static string GetMacByIpConfig()
{
Liststring> macs = new Liststring>();
var runCmd = Cmd.RunCmd("chcp 437&&ipconfig/all");
foreach (var line in runCmd.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(l => l.Trim()))
{
if (!string.IsNullOrEmpty(line))
{
if (line.StartsWith("Physical Address"))
{
macs.Add(line.Substring(36));
}
else if (line.StartsWith("DNS Servers") && line.Length > 36 && line.Substring(36).Contains("::"))
{
macs.Clear();
}
else if (macs.Count > 0 && line.StartsWith("NetBIOS") && line.Contains("Enabled"))
{
return macs.Last();
}
}
}
return macs.FirstOrDefault();
}
C# 获取MAC地址
标签:strong stat returns list res shel serve 通过命令 contains
原文地址:https://www.cnblogs.com/xuxingque/p/12817809.html
评论