I am not sure what you mean by client machine, because you can only get the MAC address of a NIC of the machine your application executes under.
For this you could use 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
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…