ManagementEventWatcher
イベントの監視に使用するアプリケーションを開発していUSB
ます。コードは正常に動作しますが、場合によってはプログラムで一部が失われますUSB events
。USB からすべてのイベントを一覧表示する正しい方法は何ですか?
次のコードを使用しています。モニターの接続とUSBからの接続解除に2つのクエリを使用しています。多くの USB ポートを監視する必要があります。
USB モニター
ManagementEventWatcher watchUSBattach = new ManagementEventWatcher();
ManagementEventWatcher watchUSBDettach = new ManagementEventWatcher();
WqlEventQuery queryUsbAttach = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2 ");
watchUSBattach.EventArrived += new EventArrivedEventHandler(watchUSBEventAdd);
watchUSBattach.Query = queryUsbAttach;
watchUSBattach.Start();
WqlEventQuery queryUsbDettach = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 3");
watchUSBDettach.EventArrived += new EventArrivedEventHandler(watchUSBEventDettach);
watchUSBDettach.Query = queryUsbDettach;
watchUSBDettach.Start();