获取RSSI值在Windows(Get Rssi Value From Windows)

2019-06-24 19:46发布

我想测量modem.Is有任何API的RSSI值来获得Windows RSSI值?我用来做与Wifi.Manager在android.But我无法找到任何Windows API

Answer 1:

使用本机代码是最好的。 您将需要与wlan_intf_opcode_rssi操作码,这将返回RSSI值,只要数据类型使用WlanQueryInterface()。 从那里,你可以将其转换为dBm。

DWORD WINAPI WlanQueryInterface(
 __in        HANDLE hClientHandle,
 __in        const GUID *pInterfaceGuid,
 __in        WLAN_INTF_OPCODE OpCode,
 __reserved  PVOID pReserved,
 __out       PDWORD pdwDataSize,
 __out       PVOID *ppData,
 __out_opt   PWLAN_OPCODE_VALUE_TYPE pWlanOpcodeValueType
);

这里使用的操作码wlan_intf_opcode_rssi你会得到RSSI值:

WLAN_INTF_OPCODE  >> wlan_intf_opcode_rssi >> LONG

这里是C ++如何下手示例:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms706765(v=vs.85).aspx

如果你想C#试试这个: 如何使用C#获取SSID和RSSI对Win7的



Answer 2:

由于这个问题的主页上出现了审查 - 现有的答案是过时的。 现在有一个管理的无线上网的API可作为围绕一个包装的Windows本地WiFi API 。

在百分比和RSSI信号强度可能为获得,Wlan.WlanAvailableNetwork []网络= wlanIface.GetAvailableNetworkList(0);

Wlan.WlanBssEntry[] redes = wlanIface.GetNetworkBssList(); //Get the atribute that you need

foreach (Wlan.WlanBssEntry network in redes)
{
    Console.Write("Network SSID {0} RSSI {1}\n ", GetStringForSSID(network.dot11Ssid),
 network.rssi);
 } 


文章来源: Get Rssi Value From Windows
标签: windows rssi