我想测量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