我正在尝试在注册表中或通过WMI(使用wbemtest)查找一个值,该值告诉我此网络适配器使用无线连接。WMI Win32_NetworkAdapter类中有一些值,例如AdapterType,但它们只是告诉我这是以太网设备。在另一台PC上查询该类时,我得到一个WiFi_NetworkAdapter条目,但我认为这取决于驱动程序供应商如何实现它。我什至试图在注册表中找到某些内容,但找不到任何内容。我可以看到这是无线设备的唯一部分是当我查看名称和描述时,但老实说,这不是一个好的解决方案。在Windows XP上,我在下面找到了带有“ MediaSubType”字段的注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{GUID}\Connection
但在Windows 7上,此键似乎不是必需的。
除了Registry或WMI以外的任何其他解决方案也都非常受赞赏,但请记住,我不想使用第三方工具,因为以后我想编写一个小的C ++程序。
请参阅MediaSubType
DWORD值。如果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 *
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句