Windows 如何知道哪个网络适配器是无线设备?

Windows 如何知道哪个网络适配器是无线设备?

我正在尝试在注册表中或通过 WMI(使用 wbemtest)查找一个值,该值告诉我此网络适配器使用无线连接。WMI Win32_NetworkAdapter 类中有 AdapterType 之类的值,但它们只告诉我它是以太网设备。当我在另一台电脑上查询此类时,我得到了 WiFi_NetworkAdapter 条目,但我认为这取决于驱动程序供应商如何实现它。我甚至试图在注册表中查找某些内容,但什么也没找到。我唯一能看到这是无线设备的部分是当我查看名称和描述时,但老实说,这不是一个好的解决方案。在 Windows XP 上,我在

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{GUID}\Connection

但在 Windows 7 上,这个键似乎不是强制性的。

除了注册表或 WMI 之外的任何其他解决方案也非常感谢,但请记住,我不想使用第三方工具,因为以后我想编写一个小的 C++ 程序。

答案1

请参阅MediaSubTypeDWORD 值。如果 MediaSubtype = 2,则网络适配器是无线设备。

powershell gci 'hklm:SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}' -rec ^| gp ^| FT MediaSubtype, Name, PnpInstanceID -Au

或者获取_MIB_IF_ROW2结构,参见 NDIS_PHYSICAL_MEDIUM。

也可以使用 PnpInstanceID 和PCI ID 存储库(数据库)或者PCI 供应商和设备列表(信息)

获取所有无线连接及其信号强度的列表:

wmic /NAMESPACE:\\ROOT\wmi path MSNdis_80211_ReceivedSignalStrength get *

相关内容