4

System.Management を使用してネットワーク ケーブルの切断を監視するために ManagementEventWatcher を使用しています。

ManagementEventWatcher を WQL: と共に使用し、 SELECT * FROM MSNdis_StatusMediaDisconnectEventArrived
のときに次のメソッドが起動されます。

private void ServiceNetWorkStatusWmiDisconnected(object sender, EventArrivedEventArgs args)
{
    string instanceName = args.NewEvent.Properties["InstanceName"].Value as string;
    ServiceNetWorkStatusWmi = string.Format("Network disconnected ({0})", instanceName);
    Console.WriteLine(ServiceNetWorkStatusWmi);
}

問題は次のとおりです。
同じメーカーの 2 つのネットワーク インターフェイスがありますが、どちらの場合も、InstanceName の値が同じで、プラグが抜かれたネットワークを特定できません。

EventArrivedEventArgs のすべてのプロパティを試しましたが、デバイス ID のようなデバイスの制約 ID がありません。

ウィッチ ネットワーク インターフェイスが取り外されたことを確認するにはどうすればよいですか?

4

1 に答える 1

0

「Win32_NetworkAdapter.NetConnectionID」を見てください。これは - 私のマシンで [!!] - ネットワーク接続 [コントロール パネル] に表示される文字列とまったく同じで、"MSNdis_EnumerateAdapter.InstanceName=".

もしかして、これが役に立つ!?

br--マブラ

于 2009-12-27T16:09:49.590 に答える