Bonjour,
Je souhaiterai convertir cette classe écrite en C# en VB.NET.
Cette classe, initialement écrite en C# permet de detecter le branchement d'un periphérique USB. Elle marche parfaitement et utilise le WMI mais j'aurais besoin de faire la même en VB.NET. Malheuresement, je n'y suis pas arrivé (je suis débutant et je ne comprends pas tout sur les déclenchements d'événements, c'est un peu flou pour moi... )
Voila le code
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 using System; using System.Management.Instrumentation; using System.Management; using System.Text; namespace USBManager { /// <summary> /// Description résumée de USBListener. /// </summary> public class USBListener { public USBListener() { // // TODO : ajoutez ici la logique du constructeur // } 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); } } } public void StopListen() { w.Stop(); } } }
Partager