问题标签 [wlanapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
727 浏览

c++ - WlanApi:在不连接的情况下获取无线信号的 MacAddress

使用 WlanApi.lib,我可以使用 WlanGetAvailableNetworkList 函数MSDN Link获取可用信号详细信息列表。

为了获得每个可用信号的 Mac 地址、通道,我需要使用 WlanQueryInterface 函数。此功能仅适用于当前连接的网络。请参阅此MSDN 链接

是否有任何选项可以在不连接的情况下为每个可用的无线信号获取 MacAddress 和频道。

谁能帮我找到提取网络适配器支持的类型 a/b/g/n 的方法?

0 投票
1 回答
4358 浏览

windows - 我从哪里获得适用于 Windows Server 2008 R2 的 x86 wlanapi.dll?

为我的 32 位 dll 运行 Dependency Walker 表明我需要我的 Microsoft Server 2008 R2 机器中缺少的 wlanapi.dll (x86)。以下帖子提到需要安装无线局域网服务http://geekswithblogs.net/dlussier/archive/2008/06/02/122558.aspx

我这样做了,但它只安装了 x64 版本。知道如何获得 x86 版本吗?

0 投票
0 回答
1062 浏览

python - python/c -- windows 7下连接无线网络

我在 Python 2.x 方面相对出色,并且刚刚开始学习 C。我得出的结论是,我需要使用Windows Native Wifi API(随时提供替代方案)。

我想使用给定的名称和密码连接到网络。我真的不明白我将如何使用WlandConnect(这是正确的功能,对吧?)。

如果有(合理的)方式,我更愿意用 Python 来做。

0 投票
1 回答
665 浏览

c++ - 如何在 Wifi 连接期间以编程方式检测错误的密码输入?

我正在使用 Windows Native Wifi。基本上在知道 Wifi 热点具有哪种类型的身份验证和加密之后,我会向用户询问密码,然后调用WlanSetProfile()以创建/保存配置文件(包含密码),然后调用WlanConnect()以使用此配置文件进行连接。

只要密码正确,此过程就可以连接到 Internet。如果密码很短(显然不是正确的),我可以检测到它,因为它WlanSetProfile()会返回一个适当的错误代码。但是,当密码错误(意味着它是一个有效的字符串)时,仍然会创建配置文件,但 Wifi 连接只是有限的访问,因为我无法再使用此配置文件连接到互联网。

问题是,我一开始不知道如何确定密码是否错误。是否有 API 或程序可用于验证密码是否正确?

0 投票
1 回答
154 浏览

c - 如何使用 windows apis 知道 wifi 连接是否启用了互联网

我正在使用 Windows XP。我正在使用 wlanapi dll 来获取 wifi 的 API。当我连接任何 wifi 接口时,如何知道 wifi 连接是否启用了互联网连接?有什么API或方法可以知道吗?

0 投票
1 回答
3218 浏览

c++ - 如何使用 Qt 在 Windows 上检查网络接口类型是以太网还是无线?

我需要在 PC 上找出网络接口类型是有线还是无线。

我尝试使用QNetworkInterface提供Adapter Name. 但适配器名称可以由 Windows 上的用户更改。在 Mac 上,我可以检查接口类型,eth0因为eth1它对所有用户都是相同的。

我也尝试过QNetworkConfiguration::bearerType,但我将配置为以太网,即有线和无线配置的 BearerEthernet。

有没有其他方法可以找出 Qt 中的网络接口类型或使用 Windows 平台特定的 API?

0 投票
0 回答
1296 浏览

c# - WlanConnect - The parameter is incorrect

I am facing an error when calling the WlanConnect function from the WindowsAPI, I am getting ERROR_INVALID_PARAMETER, even though my code doesn't get in any of the conditions specified in http://msdn.microsoft.com/en-us/library/windows/desktop/ms706613(v=vs.85).aspx to get this error.

Here it is my Connect() method

I am not sure what am I doing wrong, if anyone could guide my on any approach to solve this problem it would be great.

0 投票
0 回答
1260 浏览

c# - 使用 wlan api 打开无线电

我需要使用 wlanapi 在C#. 我可以关闭收音机但无法打开。这是我的代码:

定义 :

一切顺利我的意思是 wlansetinterface 功能返回ERROR_SUCCESS,但收音机没有在我的 PC 中打开。请帮助我错过了什么?

我休闲了如何打开实际上已关闭的 Wifi 适配器的无线电?

0 投票
0 回答
203 浏览

c# - 使用托管 wifi 连接到特定 bssid 时出现 System.AccessViolationException 错误

我正在尝试使用 bssid 连接到 wifi 网络,并且已经浏览了所有可用的链接(包括 managedwifi 的 codeplex)。我的代码返回以下错误:

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at WifiExample.Program.WlanConnect(IntPtr clientHandle, Guid& interfaceGuid, WlanConnectionParameters& connectionParameters, IntPtr pReserved)

有时它也会抛出 SEHException。

这是代码片段:

这是它调用的函数。它在我调用它的同一个文件中声明。

我的代码基于

我该如何解决这个问题?任何帮助都会很棒!

0 投票
0 回答
925 浏览

c++ - Wlanconnect 在 win8 中不能与 bssid 一起使用,但在 win7 中同样有效

我正在尝试使用 bssid 连接到 WiFi 网络,其中存在多个名称相同但 bssid 不同的 AP (SSID)。我正在使用的示例相关代码是

问题是代码在 3 台装有 win7 的机器上正常工作,但在 win8 中它返回 50 (ERROR_NOT_SUPPPORTED)。唯一的区别是win 8安装在一个vm中。但是其中一个win7也安装在vm中。

但如果我用

list.uNumOfEntries = 0;

然后它正在连接,但不是连接到我想要的 bssid。

当我使用 DLL Export Viewer 看到 win7 和 win 8 的 dll wlanapi.dll 的导出函数时,我注意到了一件事

win7的功能数量比win8少。

win7只有

但是在win8中也有

但在头文件 wlanapi.h(我使用 Visual Studio Express 13)中,WlanConnectEx 和 WlanConnectWithInput 不存在。我检查了 MSDN,只有一些新功能存在。

总之

i)这是因为操作系统在vm中运行吗?(但win7之一也在vm中运行)

ii) 代码中是否缺少任何内容,例如标题或列表中的值应该是什么?

iii) 与 bssid 的连接是否可能已移至这些新功能?

iv) 如果是这样,我在哪里可以获得这个新功能的正确头文件?

v) 它会在最新的 Win SDK 中吗?(这个我会在我发布后检查)

六)如果没有头文件,是否有可能知道这个新函数需要什么参数。(也许不可能,但以防万一)

编辑:发现这不是 API 的问题,而是驱动程序的问题。wifi没有win8驱动,只有win7驱动。将适配器更改为具有 win8 驱动程序并且现在可以正常工作的适配器。虽然有点奇怪,在旧操作系统中工作的功能在新系统中不起作用(没有向后兼容性?)。或者,它可能将 xp 驱动程序作为通用驱动程序加载。而且xp不支持BSSID列表。不幸的是,我检查了原始适配器芯片组及其 atheros 芯片组。(适配器由其他供应商制造,但芯片组是 atheros,所需的驱动程序适用于 AR9170)。他们还没有发布win8驱动程序。我试图找到一个,但到目前为止找不到。

但是新功能的头文件问题仍然适用。