我正在尝试使用WlanGetAvailableNetworkList
获取所有可用网络的列表。扫描返回一个包含NumberOfItems
的对象。当我在基于NumberOfItems
的网络阵列上循环时,它只显示第一个网络以及其他任何网络之外的内容。
这是我的密码
from win32wifi.Win32Wifi import WlanScan, WlanOpenHandle, WlanGetProfileList, WlanEnumInterfaces, WlanGetAvailableNetworkList, WlanCloseHandle, WlanConnect
handle =WlanOpenHandle()
interfaces = WlanEnumInterfaces(handle).contents
g= interfaces.InterfaceInfo[0].InterfaceGuid
WlanScan(handle, g)
networks= WlanGetAvailableNetworkList(handle, g).contents
print("Number of networks : ", networks.NumberOfItems)
for i in range(networks.NumberOfItems):
print('Network : ', networks.Network[i].dot11Ssid.SSID )
WlanCloseHandle(handle)
此问题与this question有关
我在评论中说得太快了(所以我把它删掉了)。显然,
win32wifi.Win32Wifi
提供了很多包装ctypes的功能,但是由于from win32wifi.Win32NativeWifiApi import *
之类的语句,名称空间被污染了。总之,这里有个例子。在代码.py:
输出:
@EDIT0:
虽然它与这个问题无关,但我在处理[SO]: How to connect to WiFi network using Python 3? (@CristiFati's answer)时发现(并修复了)一些Win32WiFi错误。我想看看。在
相关问题 更多 >
编程相关推荐