2009-09-01 65 views
4

Windows 7有一个(整洁的?)新功能,称为“虚拟无线适配器”。阅读在这里:如何检测和禁用Windows 7虚拟WiFi适配器

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

我有直接控制使用本地WiFi API(http://msdn.microsoft.com/en-us/library/ms706556%28VS.85%29.aspx)窗口WiFi接口卡的应用程序。请把这个问题作为一个给定的问题,我需要使用这个记录的api直接控制WiFi适配器,并且不能仅仅把它留给操作系统和用户。

Windows 7虚拟适配器应该包含在任何已批准的Windows 7 WiFi驱动程序中。那里的驱动程序似乎很麻烦,而且我发现除非手动禁用虚拟WiFi适配器,否则在WLAN API指令下,真正的适配器无法可靠地连接到无线接入点。

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

注意,对于WlanEnumInterfaces该文件说:

该虚拟设备通常显示了在“网络连接文件夹”为 “无线网络连接2”微软虚拟的”一个 设备名称WiFi 微型端口适配器'如果电脑有 单个无线网络适配器。 此虚拟装置用于专门 用于执行软件 接入点(软AP)连接和 不存在于由所述 起作用WlanEnumInterfaces返回 列表。

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

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

在此先感谢。

回答

2

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

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

0

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

0

一个windows命令:netsh wlan show hostednetwork