我试图让Windows 7的机器上使用C++所连接的WiFi信号的强度。C++ WiFi信号强度
我可以得到一个值使用命令WlanGetAvailableNetworkList
的信号强度,但返回的值是粒度不够我们的需要。基本上,当你离开Wifi路由器时,数值以20%的增量跳跃(99% - > 80% - > 60%等)。
对于我们正在开发我们的应用程序确实需要一个更精确的值。我知道这是可能因为我在对显示信号强度的精确dBm的价值观窗户看到应用程序...
如果任何人有任何建议,他们将不胜感激!
dwResult = WlanGetAvailableNetworkList(hClient,&pIfInfo->InterfaceGuid,0,NULL,&pBssList);
if (dwResult != ERROR_SUCCESS) {
wprintf(L"WlanGetAvailableNetworkList failed with error: %u\n", dwResult);
dwRetVal = 1;
} else {
for (j = 0; j < pBssList->dwNumberOfItems; j++) {
pBssEntry = (WLAN_AVAILABLE_NETWORK *) & pBssList->Network[j];
if ((pBssEntry->dwFlags & WLAN_AVAILABLE_NETWORK_CONNECTED) != 0){
if (pBssEntry->wlanSignalQuality == 0)
iRSSI = -100;
else if (pBssEntry->wlanSignalQuality == 100)
iRSSI = -50;
else
iRSSI = -100 + (pBssEntry->wlanSignalQuality/2);
wprintf(L" Signal Quality[%u]:\t %u (RSSI: %i dBm)\n", j,
pBssEntry->wlanSignalQuality, iRSSI);
}
}
如果你可以包含'include'的列表...... – Acidic