Windows 7有一个(整洁的?)新功能称为“虚拟无线适配器”。在这里阅读:
我有一个使用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可能提供控制面板用来显示虚拟适配器的枚举。
要获得额外的功劳,我该如何以编程方式禁用此适配器?
提前致谢。
答案 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