如何在c#和vb.net中获取客户端机器的MAC地址
如何在c#和vb.net中获取客户端机器的MAC地址
我不确定客户端机器的含义,因为您只能获取应用程序执行的机器的NIC的MAC地址。
为此,您可以使用ManagementClass :
C#:
using (var mc = new ManagementClass("Win32_NetworkAdapterConfiguration")) { foreach(ManagementObject mo in mc.GetInstances()) { Console.WriteLine(mo["MacAddress"].ToString()); } }
VB.NET:
Using mc As New ManagementClass("Win32_NetworkAdapterConfiguration") For Each mo As ManagementObject In mc.GetInstances() Console.WriteLine(mo("MacAddress").ToString()) Next End Using
想要的答案是
ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection objMOC = objMC.GetInstances(); foreach (ManagementObject objMO in objMOC) { if (!(bool)objMO["ipEnabled"]) continue; Console.WriteLine((string)objMO["MACAddress"]); }
这应该在vb中工作 – 我相信c#接近于此
导入以下命名空间。
Imports System.Management
声明以下对象变量。
Dim objMOS As ManagementObjectSearcher Dim objMOC As Management.ManagementObjectCollection Dim objMO As Management.ManagementObject
执行查询。
objMOS = New ManagementObjectSearcher("Select * From Win32_NetworkAdapter") objMOC = objMOS.Get Get MAC address from the query result. For Each objMO In objMOC MessageBox.Show(objMO("MACAddress")) Next
处置对象变量。
objMOS.Dispose() objMOS = Nothing objMO.Dispose() objMO = Nothing