如何仅使用紧凑框架获取 MAC 地址?
jalcom
问问题
11039 次
4 回答
5
1.4 的 OpenNETCF 代码从以下 P/Invoke 调用中获取信息:
[DllImport ("iphlpapi.dll", SetLastError=true)]
public static extern int GetAdaptersInfo( byte[] ip, ref int size );
我认为物理地址(返回为 MAC 地址)大约是调用后字节数组的索引 400 - 408。因此,如果您不想使用 OpenNETCF,则可以直接使用它(为什么?OpenNETCF 比石头更厉害!)
Wonderful P/Invoke.net在这里给出了一个完整的例子。
哦,要正确回答您的问题:
仅使用 Compact Framework
你不能。这就是 CF 的生活,如果您想要一些乐趣,请尝试使用超时同步的套接字发送数据。:D
于 2008-09-06T15:35:37.063 回答
2
以下是Google 搜索“Compact Framework 中的 MAC 地址”的前三个结果:
- http://arjunachith.blogspot.com/2007/08/retrieving-mac-address-in-compact.html
- http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=920417&SiteID=1
- http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=188787&SiteID=1
这些都没有帮助吗?
三分之二的人将OpenNETCF作为一种方法。
于 2008-09-03T23:27:47.783 回答
0
如果您可以访问注册表,请尝试在LOCAL_MACHINE\Comm\PCI\***\Parms\MacAddress
.
它可能是一个快速而肮脏的解决方案,不涉及使用 WMI 或 OpenNETCF ...
于 2009-01-08T13:36:05.987 回答
-1
添加对 System.Management.dll 的引用并使用以下内容:
Dim mc As System.Management.ManagementClass
Dim mo As ManagementObject
mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
Dim moc As ManagementObjectCollection = mc.GetInstances()
For Each mo In moc
If mo.Item("IPEnabled") = True Then
ListBox1.Items.Add("MAC address " & mo.Item("MacAddress").ToString())
End If
Next
于 2008-09-03T23:26:27.083 回答