1
以下功能從系統獲取WiFi信號。它目前在我的表單上顯示一個「0」(表示我假設的強大連接)。我在公司網絡上的一臺工作場所的惠普上運行這臺機器。它似乎沒有外部WiFi按鈕等。是「0」我得到一個真正的價值,還是我需要在真正的無線設備上進行測試?我能獲得一個正確的WiFi信號dBm讀數嗎?
public static int GetSignalStrengthAsInt()
{
Int32 returnStrength = 0;
ManagementObjectSearcher searcher = null;
try
{
searcher = new ManagementObjectSearcher(
@"root\WMI",
@"select Ndis80211ReceivedSignalStrength
from MSNdis_80211_ReceivedSignalStrength
where active=true");
// Call the get in order to populate the collection
ManagementObjectCollection adapterObjects = searcher.Get();
// Loop though the management object and pull out the signal strength
foreach (ManagementObject mo in adapterObjects)
{
returnStrength = Convert.ToInt32(
mo["Ndis80211ReceivedSignalStrength"].ToString());
break;
}
}
catch (Exception)
{
}
finally
{
if (searcher != null)
{
searcher.Dispose();
}
}
return returnStrength;
}
returnStrength現在正顯示在文本框中。
檢查http://blogs.technet.com/b/heyscriptingguy/archive/2007/03/22/how-can-i-determine-the-signal-strength-of-a-wireless-connection.aspx我認爲它涵蓋了你的問題 – Casperah
再次感謝您的幫助! –