2

在我的 FireBreath 插件中,我正在尝试确定 Wifi SSID 和/或扫描可见的 Wifi 接入点。

在代码的 Windows 部分中,这需要从以下内容开始:

dwResult = WlanOpenHandle(dwMaxClient, NULL, &dwCurVersion, &hClient);

不幸的是,dwResult总是返回:1062,翻译为“服务尚未启动”(通过FormatMessage())。

我尝试在主线程以及启动的 boost 线程中运行,如下所示:

boost::thread t(boost::bind(&LaasTechAPI::doSomethingTimeConsuming_thread, this, num, callback));

无论如何,错误 1062 是相同的。

(顺便说一句,我实现了线程方法,因为 a. Internet 搜索表明某种 ATL/MTL '公寓' 线程问题,并且 b. Wifi 扫描被认为是一种固有的缓慢异步努力,所以线程似乎一直都是必要的)

谁能告诉我如何解决这个 WlanOpenHandle 错误 1062 问题?


次要

  • 你能告诉我一种更可靠的方法来扫描 Windows 中本地接入点的 Wifi SSID、BSSID 和信号强度吗?
  • 我还必须为 OS X 收集 Wifi 信息。因此,如果您知道用于 Wifi 扫描的 Mac 或多平台解决方案,请分享。

谢谢!

4

1 回答 1

2

如何启动 Windows 零配置服务 (WZC)

这将解决 Windows 错误 1062:“服务尚未启动”。

我认为您应该更仔细地查看@Georg 的评论并验证 WZC 是否已启动。以下是他链接中备注部分的相关文本:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms706759 (v=vs.85).aspx

如果无线零配置 (WZC) 服务尚未启动或 WZC 服务没有响应,WlanOpenHandle 将返回错误消息。

在 Windows 命令提示符 (DOS) 中启用服务:

> net start wzcsvc

或者,键入:

> sc config wzcsvc start= <boot|system|auto|demand|disabled|delayed-auto>

帮助消息:

> sc config /?

或者,打开服务应用程序:

> services.msc
于 2013-03-28T15:47:17.373 回答