Windows 7 컴퓨터에서 C++을 사용하여 연결된 wifi 신호의 강도를 얻으려고합니다.C++ Wifi 신호 강도
WlanGetAvailableNetworkList
명령을 사용하여 신호의 강도 값을 얻을 수 있지만 반환 된 값은 우리의 요구 사항에 충분하지 않습니다. 기본적으로 Wifi 라우터에서 나가면 값이 20 % 씩 증가합니다 (99 % -> 80 % -> 60 % 등).
우리가 개발중인 응용 프로그램에 대해서는 더욱 정확한 값이 필요합니다. Windows에서 신호 강도에 대한 정확한 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's 목록을 포함시킬 수 있다면 좋을 것입니다 ... – Acidic