【发布时间】:2012-04-11 21:46:04
【问题描述】:
我正在使用 WMI (Win32_NetworkAdapter) 并尝试获取连接的有线或无线物理网络适配器的详细信息,并避免使用虚拟适配器等。
阅读this article 说明您必须对 WMI 进行一些巧妙的查询以消除虚拟适配器并尝试仅返回真实的物理适配器。
阅读this post它解释说,您可以比较网络适配器的“描述”中的文本,看看它是否包括“无线”、“802.11”或“WLAN”,如果有,那么很可能是adapter 是一个无线适配器。
随着今天的 .Net 版本和其他改进,在 Windows XP+ 上确定网络适配器是有线还是无线以及不是来自 VM 软件或类似软件的虚拟适配器真的只有这两种方法吗?如果不是,请解释。
【问题讨论】:
-
您只是在寻找涉及 WMI 的解决方案吗?
-
最好,是的。我现有的项目非常广泛地使用 WMI 和 .Net 来获取适配器信息。如果还有其他选择,我想知道但不确定是否会实施。
-
使用 WMI 不能只根据
Win32_NetworkAdapter.PhysicalAdapter过滤(如果接口是虚拟的,应该是假的)然后使用AdapterTypeID来确定它是有线还是无线?我浏览了您发布的文章,他们的标准不合理。 -
msdn.microsoft.com/en-us/library/windows/desktop/…Win32_NetworkAdapter.PhysicalAdapter Windows Server 2003、Windows XP、Windows 2000 和 Windows NT 4.0:此属性不可用。 AdapterTypeID 不可靠,因为我的笔记本电脑在这里,WMI 将其返回为非无线。