3

Я пытаюсь и пытаюсь найти значение в реестре или через WMI (с wbemtest), который говорит мне, что этот сетевой адаптер использует беспроводное соединение. В классе WMI Win32_NetworkAdapter есть значения, такие как AdapterType, но они только говорят мне, что это устройство Ethernet. На другом компьютере, когда я запрашиваю этот класс, я получаю запись WiFi_NetworkAdapter, но я думаю, что это зависит от того, как поставщик драйверов реализовал это. Я даже пытался найти что-то в реестре, но ничего не смог найти. Единственная часть, где я вижу, что это беспроводное устройство - это когда я смотрю на название и описание, но, честно говоря, это не хорошее решение. В Windows XP я нашел раздел реестра с полем "MediaSubType" под

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

но в Windows 7 этот ключ не является обязательным.

Любое другое решение, кроме Registry или WMI, также очень ценится, но имейте в виду, что я не хочу использовать сторонние инструменты, потому что позже я хочу написать небольшую программу на C++.

1 ответ1

2

См. Значение DWORD MediaSubType . Если 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 Repository (база данных) или PCI Vendor и списки устройств (информация).

Получите список всех наших беспроводных соединений и их мощности сигналов:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .