Detection evenement usb (connection / deconnection)

Description

Un petit bout de code suite a une question forum pour detecter les evenements liés à l'USB.
Le tout avec WMI.

Source / Exemple :


ManagementEventWatcher w;

		public void StartListen()
		{
			WqlEventQuery q = new WqlEventQuery();
			q.EventClassName = "__InstanceOperationEvent";
			q.WithinInterval = new TimeSpan(0,0,3);
			q.Condition = @"TargetInstance ISA 'Win32_USBControllerDevice' ";
			w = new ManagementEventWatcher(q);
			w.EventArrived += new EventArrivedEventHandler(this.UsbEventArrived);
			w.Start(); 

		}

		private void UsbEventArrived(object sender, EventArrivedEventArgs e) 
		{ 
			
			foreach (PropertyData propertyData in e.NewEvent.Properties) 
			{

				ManagementBaseObject mbo = null;
				if(( mbo = propertyData.Value as ManagementBaseObject) != null) 
				{
					Console.WriteLine("--------------Properties------------------");
					foreach(PropertyData prop in mbo.Properties)
						Console.WriteLine("{0} - {1}", prop.Name, prop.Value);
				}

			}

		}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.