私の Windows フォームでは、アプリケーションは wifi 信号強度を抽出し、結果をテキスト ボックスに出力することになっています。
エラーなしで問題なく準拠していますが、実行すると、次のステートメントの「in」が強調表示され、Management Exception Unhandled エラーが発生します。
foreach (ManagementObject mo in searcher.Get()).
この問題を修正するためにコードを編集する方法がわかりません。最終的に、フォームのテキスト ボックスに現在の Wi-Fi 信号強度を表示できるようになります。
コード:
class NativeWiFi
{
public string wifiStatus;
public NativeWiFi() //gets signal strength
{
ManagementObjectSearcher searcher = new
ManagementObjectSearcher(@"root\WMI", "select Ndis80211ReceivedSignalStrength
from MSNdis_80211_ReceivedSignalStrength where active=true");
StringBuilder sb = new StringBuilder();
//output as a string
foreach (ManagementObject mo in searcher.Get()) //**PROBLEM IS HERE**
{
sb.Append( mo["Ndis80211ReceivedSignalStrength"]);
}
wifiStatus = sb.ToString();
}
}
形:
private void Form1_Load(object sender, EventArgs e) // on load, create timer
{
var timer = new Timer();
timer.Tick += new EventHandler(timer_Tick);
timer.Interval = 2000; //2 seconds
timer.Start();
}
//after 2 seconds, update the text box called 'wifi' to output current wifi strength
void timer_Tick(object sender, EventArgs e)
{
wifi.Text = signal.wifiStatus;
}
これらを連携させる方法はありますか?ありがとう。