从 Windows 获取 Rssi 值

cyo*_*cyo 5 windows rssi

我想测量调制解调器的 rssi 值。是否有任何 api 可以获取 Windows 的 rssi 值?我曾经使用 android 中的 Wifi.Manager 来做到这一点。但我找不到任何适用于 Windows 的 api

Avk*_*han 1

使用本机代码是最好的。您需要将 WlanQueryInterface() 与 wlan_intf_opcode_rssi 操作码一起使用,它将返回 LONG 数据类型的 RSSI 值。从那里您可以将其转换为 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
);
Run Code Online (Sandbox Code Playgroud)

这里使用操作码 wlan_intf_opcode_rssi 您将获得 RSSI 值:

WLAN_INTF_OPCODE  >> wlan_intf_opcode_rssi >> LONG
Run Code Online (Sandbox Code Playgroud)

以下是有关如何开始的 C++ 示例:

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

如果你想要 C# 试试这个: How to get SSID and RSSI for Win7 using C#

  • 查看http://stackoverflow.com/questions/7142485/to-read-rssi-from-wifi-sensor,它讨论了 PlaceLab sourceforge 页面和带有 Java Wrapper 的 Soptter.dll 。 (2认同)