附加的VBScript显示所有可用的WiFi网络 它在WinXP上工作正常,但在Win7上不起作用。 在WinXP上,它显示了所有可用WiFi网络的列表,但是在WIn7上它显示了一个空列表。 有什么问题?
on error resume next
set objSWbemServices = GetObject("winmgmts:\\.\root\wmi")
set colInstances = objSwbemServices.ExecQuery("SELECT * FROM MSNDis_80211_BSSIList")
for each obj in colInstances
if left(obj.InstanceName, 4) <> "WAN " and right(obj.InstanceName, 8) <> "Miniport" then
for each rawssid in obj.Ndis80211BSSIList
ssid = ""
for i=0 to ubound(rawssid.Ndis80211SSid)
decval = rawssid.Ndis80211Ssid(i)
if (decval > 31 AND decval < 127) then
ssid = ssid & Chr(decval)
end if
next
wscript.echo ssid
next
end if
next
我是VBScript的新手所以请保持温和。
答案 0 :(得分:3)
[我会评论,但没有足够的代表:P] Visual Studio将允许您调试VBScript,以便您可以确定导致问题的特定行。
导航到包含该脚本的目录,然后运行'wscript .vbs // D // X',然后选择Visual Studio作为调试器。然后,您可以浏览每一行,了解正在发生的事情(source)。
当我执行此脚本(具有正常和提升权限)时,我从查询“SELECT * FROM MSNDis_80211_BSSIList”中收到一个空数组。这可能是问题产生的地方;可能在Windows 7中不推荐使用源代码(MSNDis_80211_BSSIList)并重命名。
谷歌还透露了可能包含WMI新增功能的最新驱动程序(例如英特尔Wifi驱动程序)之间的可能关联。