如何检测和禁用Windows 7虚拟wifi适配器

时间:2009-09-01 21:37:47

标签: windows-7 wifi wlan wlanapi

Windows 7有一个(整洁的?)新功能称为“虚拟无线适配器”。在这里阅读:

http://www.istartedsomething.com/20090516/windows-7-native-virtual-wifi-technology-microsoft-research/

我有一个使用Native Wifi API(http://msdn.microsoft.com/en-us/library/ms706556%28VS.85%29.aspx)直接控制windows wifi接口卡的应用程序。请考虑这个问题,我需要使用这个记录的api直接控制wifi适配器,而不能只是将它留给操作系统和用户。

Windows 7虚拟适配器应该包含在任何已批准的Windows 7 wifi驱动程序中。那里的驱动程序现在看起来很漂亮,而且我发现除非我手动禁用虚拟wifi适配器,否则当WLAN api命令时,真正的适配器将无法可靠地连接到无线接入点。

我的主要问题是'如何检测Windows虚拟wifi适配器的存在?'

请注意,WlanEnumInterfaces的文档说:

  

此虚拟设备通常会显示   在“网络连接文件夹”中   “无线网络连接2”带有   设备名称'Microsoft Virtual WiFi   如果计算机有微型端口适配器   一个无线网络适配器。   使用此虚拟设备   专门用于执行软件   接入点(SoftAP)连接和   在返回的列表中不存在   WlanEnumInterfaces函数    

我怀疑有shell api可能提供控制面板用来显示虚拟适配器的枚举。

要获得额外的功劳,我该如何以编程方式禁用此适配器?

提前致谢。

2 个答案:

答案 0 :(得分:2)

要使用WLAN api检测Windows 7虚拟适配器,您需要使用Windows SDK 6.1版中wlanapi.h定义的版本。

您可以使用WMI或netcon.h中定义的INetConnection COM接口启用或禁用网络适配器。

答案 1 :(得分:0)

在控制面板中>网络和互联网有一个选项说:“添加无线设备”。我用它来检测微软虚拟wifi微型端口适配器,因为我安装Windows 7后它没有出现在网络适配器中,但是它已经启用但未启动。 要从命令提示符禁用它,请以管理员身份运行,您可以尝试: netsh wlan set hostednetwork mode = disallow (或者不允许,我没试过)。见http://msdn.microsoft.com/en-us/library/dd815243%28VS.85%29.aspx