问题标签 [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 回答
106 浏览

c++ - WlanGetProfileList 不返回设备重启后创建的配置文件

WlanGetProfileList 本机 api 按预期工作,直到设备重新启动。设备重启后,相同 api 的结果为空。但我仍然可以在 Windows Compact OS 的注册表值下看到创建的配置文件。

为了在 WINCE7 中启用 wifi 功能,我使用了 WLANTOOL。下面是来自 wlantool 的代码,用于获取创建的配置文件列表。

任何帮助,将不胜感激。提前致谢。

0 投票
2 回答
253 浏览

c++ - 在 Windows 问题上连接到企业 WiFi

我在 Windows Server 2016 上配置了 Radius 服务器,我想使用我的应用程序连接到企业 WiFi 网络。我尝试执行以下步骤:

使用WlanSetProfile设置没有凭据的配置文件(我使用从 netsh 导入的配置文件并进行了一些修改)

然后使用我的用户名和密码将下面的 xml 配置文件设置为WlanSetProfileEapXmlUserData

然后我使用WlanConnect函数和回调函数来验证连接。连接时出现以下问题:

NotificationCode 返回代码 8 (wlan_notification_acm_scan_fail),然后返回 11 (wlan_notification_acm_connection_attempt_fail)。

此外,来自 MS 文档:

wlan_notification_acm_scan_fail:

对可连接网络的扫描失败。

WLAN_NOTIFICATION_DATA 结构的 pData 成员指向 WLAN_REASON_CODE 数据类型值,该值标识 WLAN 操作失败的原因。

因此,我在出现此问题时检查了 pData,它返回以下原因:

wlan_notification_acm_scan_fail "操作成功。"

但是网络没有连接。在此先感谢您的帮助。

0 投票
0 回答
181 浏览

delphi - Delphi XE8 - 本机 Wifi API - Wlan API - 从 WLAN_HOSTED_NETWORK_REASON 获取价值

Windows 10 Pro 上的 Delphi XE8

所以我使用来自 Native Wifi API 的WlanHostedNetworkStartUsing使用以下代码启动托管网络:

然后我声明这个函数将pReason值转换为字符串:

但是当使用上面的代码时,我得到了访问冲突 blabla

是否可以从 WLAN_HOSTED_NETWORK_REASON 获取整数或字符串值?

https://docs.microsoft.com/en-us/windows/win32/api/wlanapi/nf-wlanapi-wlanhostednetworkstartusing

https://docs.microsoft.com/en-us/windows/win32/api/wlanapi/ne-wlanapi-wlan_hosted_network_reason

https://github.com/coolshou/WlanAPI

先谢谢了

0 投票
1 回答
75 浏览

c++ - 检查 EAP 凭据问题

当使用我的程序从导入的配置文件连接到企业无线网络时,我想检查是否存在 EAP 凭据(是否存储在注册表中)。我使用这种方法:WlanSetProfileEapXmlUserData用于存储用户凭据。导入的配置文件仅存储无线网络 xml 数据,不存储用户名和密码。那么,我应该使用 Wlan API 中的什么方法来验证特定无线配置文件的用户凭据是否存在?我只需要信息。谢谢。

0 投票
1 回答
164 浏览

winapi - WLAN_NOTIFICATION_MSM 通知代码 59

我正在写一种 wlanapi 的包装器。通过WlanRegisterNotification接收通知时,我收到带有代码590x3B十六进制)的意外媒体特定模块 (MSM) 通知。WLAN_NOTIFICATION_MSM MSDN 页面不包含任何有用信息。Mywlanapi.h也不包含这样的值,实际上这个枚举是从零开始的并且只包含18值 - from 0to 17

有谁知道这种通知的含义,为什么根本没有记录?

这是我到目前为止所拥有的。

看起来此通知是常规连接过程的一部分。也就是说,我在连接到无线网络时得到它 - 无论以前的连接状态如何。这是每次连接到网络时发生的通知序列:

wlan_notification_msm_associatedwlan_notification_msm_authenticating在同一时刻触发,然后立即(在 10-20 毫秒内)使用代码59( 0x3F) 触发通知。

此通知有 16 字节的有效负载。数据结构对我来说看起来并不熟悉,如果有人看起来很熟悉,请发布此信息(10 个事件):

有用的链接

将不胜感激任何帮助!

通过官方示例连接时,更新 1 通知顺序相同:

更新 2 为此,我在 GitHub 上创建了一个最小的测试项目 - https://github.com/alexbereznikov/wlanapi-notification-code59-test

二进制 x64 版本位于此处 - https://github.com/alexbereznikov/wlanapi-notification-code59-test/releases

成功连接到无线网络后,我得到以下输出: 使用代码 59 测试应用程序输出

0 投票
2 回答
186 浏览

c++ - WlanConnect(),如何连接和打开无线接入点

为了连接到一个开放的接入点,我填写了 WLAN_CONNECTION_PARAMETERS 结构如下

WlanConnect()函数ERROR_SUCCESS返回。

NotificationCallback()函数打印:

错误在哪里?

您是否有一段代码可以连接到具有特定 ssid 的新开放无线接入点?

0 投票
0 回答
69 浏览

c++ - 每 4 秒获取连接的 wifi 连接的名称

我使用以下函数来获取连接的 WiFi 连接的名称。该函数每 4 秒重复调用一次以监视连接更改。但过了一会儿,该功能不再像以前那样工作,并且无法返回false.

出了什么问题,我该如何解决这个问题?

0 投票
1 回答
233 浏览

c# - 如何从 C# 和 .NET 枚举网络上的设备?

我正在编写一个 Windows 桌面应用程序,它通过无线网络 (WLAN) 与我的 DSLR 相机进行通信。我需要一种扫描网络并通过其 MAC 地址或其他识别信息找到相机的方法。Nirsoft Wireless Network Watcher 显示有关我网络上每个设备的信息。(具体来说:“IP 地址”、“设备名称”、“MAC 地址”、“网络适配器公司”等).NET 是否提供了从 C# 检索此信息的方法?

0 投票
0 回答
60 浏览

winapi - 如何检索 AP 可以接受的所有身份验证/密码对的完整列表?

该函数WlanGetAvailableNetworkList提供了一个WLAN_AVAILABLE_NETWORK结构列表,其中包含检测到的每个网络的默认身份验证算法和默认密码等。但是,可以将接入点配置为接受多种身份验证算法/密码组合,例如,可以将 AP 配置为同时支持 WPA 和 WPA2。因此,问题是,我如何检索 AP 可以接受的所有身份验证/密码对的完整列表?

我尝试过,WlanGetNetworkBssListWLAN_BSS_ENTRY它输出的结构只有一个usCapabilityInformation参数,它只告诉我是否需要通过Privacy位进行加密。

0 投票
1 回答
118 浏览

c++ - Windows 中的 Wifi 通知

我想知道当 Windows 系统更改其 wifi 网络时如何通知 Windows C++ 应用程序。我对以下情况感兴趣:

  1. 当用户打开 wifi 并连接到新网络时
  2. 当用户关闭 wifi 并断开网络连接时
  3. 当用户已从网络 A 更改为网络 B

注意:打开/关闭 wifi 并不重要。设备需要连接到网络。网络可能有也可能没有互联网连接。

我正在尝试使用wlanapi.h来实现这一点,并查看了一些示例,但未能实现这一点。

让我知道是否有人能够使用 wlanapi.h 实现这一目标。还是有其他方法?请举例说明。

任何帮助,将不胜感激。

编辑:添加代码

输出

我尝试连接和断开与我的网络的连接,但未调用回调。

但有时,在我没有断开网络连接的情况下,回调会被调用很多次。