Как получить MAC-адрес клиентской машины в С# и vb.net
Как получить MAC-адрес клиентской машины в С# и vb.net
Ответы
Ответ 1
Я не уверен, что вы подразумеваете под машиной клиента, потому что вы можете получить только MAC-адрес сетевого адаптера компьютера, на котором выполняется ваше приложение.
Для этого вы можете использовать ManagementClass:
С#:
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
Ответ 2
желаемый ответ
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"]);
}
Ответ 3
Это должно работать в vb - я уверен, что С# близок к этому |
Импортируйте следующее пространство имен.
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