/// <summary> /// 构造函数 /// </summary> /// <param name="insert"></param> /// <param name="remove"></param> public USBListener(USBChangeHandler change, USBHandler insert, USBHandler remove) { try { ManagementScope Scope = new ManagementScope("root\\CIMV2"); Scope.Options.EnablePrivileges = true; // USB插入监视 WqlEventQuery InsertQuery = new WqlEventQuery("__InstanceCreationEvent", new TimeSpan(0, 0, 5), "TargetInstance isa 'Win32_USBControllerDevice'"); InsertEvent = new ManagementEventWatcher(Scope, InsertQuery); InsertEvent.EventArrived += _USBInsert; InsertEvent.Start(); // USB拔出监视 WqlEventQuery RemoveQuery = new WqlEventQuery("__InstanceDeletionEvent", new TimeSpan(0, 0, 5), "TargetInstance isa 'Win32_USBControllerDevice'"); RemoveEvent = new ManagementEventWatcher(Scope, RemoveQuery); RemoveEvent.EventArrived += _USBRemove; RemoveEvent.Start(); USBInsertEvent += insert; USBRemoveEvent += remove; USBChangeEvent += change; } catch { } }
/// <summary> /// 构造函数 /// </summary> /// <param name="insert"></param> /// <param name="remove"></param> public USBStorageListener(USBChangeHandler change, USBHandler insert, USBHandler remove) { USBInsertEvent += insert; USBRemoveEvent += remove; USBChangeEvent += change; }