Я использую ManagementEventWatcher для наблюдения за отключением сетевого кабеля с помощью System.Management.
ManagementEventWatcher с WQL: SELECT * FROM MSNdis_StatusMediaDisconnect
,
и следующий метод запускается, когда EventArrived:
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, но у них нет идентификатора ограничения для устройства ... как идентификатор устройства.
Как узнать, что сетевой интерфейс ведьмы отключен?