我有一个Windows移动项目。我想获取设备的MAC地址或数量以保证我的软件安全。我的项目是Windows Ce和Windows Mobile 6(两个项目)。如何从移动设备获取价值? (我看了同样的问题,但他们是关于蓝牙MAC地址,有些设备没有它)
答案 0 :(得分:2)
调用GetAdaptersInfo
API。它返回IP_ADAPTER_INFO
,它是设备适配器的所有信息的缓冲区。 IP_ADAPTER_INFO
包含一个名为Address
的成员,它是适配器的MAC地址。
答案 1 :(得分:0)
由于我花了很多时间来找到一个VB.NET方式,所以我发布这个可能有用的人。
<DllImport("iphlpapi.dll", SetLastError:=True)> _
Public Shared Function GetAdaptersInfo(ByVal info As Byte(), ByRef size As UInteger) As Integer
End Function
Public Shared Function GetMacAddress() As String
Dim num As UInteger = 0UI
GetAdaptersInfo(Nothing, num)
Dim array As Byte() = New Byte(CInt(num) - 1) {}
Dim adaptersInfo As Integer = GetAdaptersInfo(array, num)
If adaptersInfo = 0 Then
Dim macAddress As String = ""
Dim macLength As Integer = BitConverter.ToInt32(array, 400)
macAddress = BitConverter.ToString(array, 404, macLength)
macAddress = macAddress.Replace("-", ":")
Return macAddress
Else
Return ""
End If