Compact Framework中的MAC地址
时间:2020-03-05 18:47:22 来源:igfitidea点击:
如何仅使用紧凑型框架获得MAC地址?
解决方案
回答
添加对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
回答
这是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当作一种实现方法。
回答
OpenNETCF代码的1.4从以下P / Invoke调用中获取信息:
[DllImport ("iphlpapi.dll", SetLastError=true)] public static extern int GetAdaptersInfo( byte[] ip, ref int size );
我认为物理地址(返回为MAC地址)大约是调用后字节数组的索引400 408. 因此,如果我们不想使用OpenNETCF,则可以直接使用它(为什么?OpenNETCF的作用远不止于石头!)
精彩的P / Invoke.net在此处提供了完整的示例。
哦,正确回答问题:
only using the Compact Framework
你不能。 CF就是这样,如果我们想获得一些乐趣,请尝试使用套接字与超时同步发送数据。 :D
回答
如果可以访问注册表,请尝试在" LOCAL_MACHINE \ Comm \ PCI \ *** \ Parms \ MacAddress"下找到适配器的MAC地址。
这可能是一种快速且肮脏的解决方案,不涉及使用WMI或者OpenNETCF ...