イベントを監視するためにManagementEventWatcher
を使用するアプリケーションを開発しています。コードは正常に動作しますが、プログラムによってはUSB events
が失われることがあります。 USBからすべてのイベントをリストする正しい方法は何ですか?C#のイベントを失うManagementEventWatcher
私は次のコードを使用しています。私は、モニタの接続とUSBからの取り外しに2つのクエリを使用しています。私は多くのUSBポートを監視する必要があります。
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();