在我们的.NET应用程序中,我们设置了以下查询以检测何时添加或删除任何USB设备:
SELECT * FROM __InstanceCreationEvent
WITHIN 0.5
WHERE TargetInstance ISA 'Win32_PnPEntity'
和
SELECT * FROM __InstanceDeletionEvent
WITHIN 0.5
WHERE TargetInstance ISA 'Win32_PnPEntity'
当我们开始收听这些查询时,我们可以看到进程WMI Provider host
获取完整的CPU核心。
上述查询是否效率低下?
有没有更好的方法来检测何时连接USB设备而不是每隔x
秒进行一次轮询?请注意,我们要检测的USB设备不作为驱动器连接,它们是安全加密狗。