ここで指定された現在のWiFi信号強度値を返す関数を使用しています:http: //www.dotnet247.com/247reference/msgs/42/211278.aspx
Visual Studio 2008でコードを実行すると、コンパイルエラーが発生します。
名前空間のタイプ'ManagementObjectSearcher'が見つかりません。
'usingSystem.Manangement'を使用しています
私の全体的な目標は、信号強度を取得し、それをWindowsフォームのテキストボックスにプラグインすることです。したがって、以下の関数を使用して値を取得したら、ユーザーが表示できるようにボックスにポップします。
なぜこれらのエラーが発生するのかについて何か考えはありますか?
コード:
public static void signalStrentgh()
{
ManagementObjectSearcher searcher = new
ManagementObjectSearcher(@"root\WMI", "select
Ndis80211ReceivedSignalStrength from MSNdis_80211_ReceivedSignalStrength
where active=true");
foreach (ManagementObject mo in searcher.Get())
{
Console.WriteLine("{0}", mo["Ndis80211ReceivedSignalStrength"]);
}
}
注*以下に掲載されているのは、C++で実行された古い誤ったバージョンのコードです。これはコメントとヘルプを参照しています。
int GetSignalStrength()
{
ManagementObjectSearcher *searcher = new ManagementObjectSearcher(
"root\\WMI",
"select Ndis80211ReceivedSignalStrength from
MSNdis_80211_ReceivedSignalStrength where active=true");
ManagementObjectCollection *queryCollection = searcher->Get();
ManagementObjectCollection::ManagementObjectEnumer ator* queryEnum =
queryCollection->GetEnumerator();
while (queryEnum->MoveNext());
ManagementBaseObject* object = queryEnum->get_Current();
Object* signalStrength =
object->GetPropertyValue(L"Ndis80211ReceivedSignalStrengt h");
return (Convert::ToInt32(signalStrength->ToString()));
}