gpt4 book ai didi

vb.net - 使用 VB.NET 2010 获取 MAC 地址

转载 作者:行者123 更新时间:2023-12-04 05:27:30 30 4
gpt4 key购买 nike

我试图得到 MAC address使用 VB.NET 中的以下函数,对机器上的每个网络接口(interface)卡进行,但我刚刚意识到此功能在 Windows XP 中不起作用:

  Function getMacAddress()
Dim nics() As NetworkInterface = NetworkInterface.GetAllNetworkInterfaces()
Return nics(1).GetPhysicalAddress.ToString
End Function

如何使此代码在 Windows XP 上运行?在 Windows XP 上获取 MAC 地址列表还有哪些其他替代方法?

最佳答案

在连接到不同的 VPN 时,我做了一些挖掘工作。到目前为止,以下似乎相当可靠。在许多情况下,依赖 0 或 1 来表示上面建议的实际物理适配器是行不通的。在某些情况下,我实际的以太网适配器是第三个适配器。排除环回、隧道和 ppp 适配器应该可以缩小范围。我发现我的许多非物理适配器都有字符串“00000000000000E0”作为mac地址。

Private Function getMacAddress() As String
Try
Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
Dim adapter As NetworkInterface
Dim myMac As String = String.Empty

For Each adapter In adapters
Select Case adapter.NetworkInterfaceType
'Exclude Tunnels, Loopbacks and PPP
Case NetworkInterfaceType.Tunnel, NetworkInterfaceType.Loopback, NetworkInterfaceType.Ppp
Case Else
If Not adapter.GetPhysicalAddress.ToString = String.Empty And Not adapter.GetPhysicalAddress.ToString = "00000000000000E0" Then
myMac = adapter.GetPhysicalAddress.ToString
Exit For ' Got a mac so exit for
End If

End Select
Next adapter

Return myMac
Catch ex As Exception
Return String.Empty
End Try
End Function

关于vb.net - 使用 VB.NET 2010 获取 MAC 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13025878/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com