我試圖讓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