0

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();
4

1 に答える 1