Windows 10 查询_InstanceCreationEvent和_InstanceDeleteEvent时CPU负载高

Windows 10 查询_InstanceCreationEvent和_InstanceDeleteEvent时CPU负载高,windows-10,wmi,Windows 10,Wmi,在.NET应用程序中,我们设置了以下查询以检测何时添加或删除任何USB设备: SELECT * FROM __InstanceCreationEvent WITHIN 0.5 WHERE TargetInstance ISA 'Win32_PnPEntity' 及 当我们开始监听这些查询时,我们可以看到进程WMI提供程序主机正在获取一个完整的CPU核心 上述查询是否效率低下? 除了每隔x秒轮询一次外,是否还有更好的方法检测USB设备何时连接?请注意,我们要检测的USB设备不是作为驱动器连接的,

在.NET应用程序中,我们设置了以下查询以检测何时添加或删除任何USB设备:

SELECT * FROM __InstanceCreationEvent
WITHIN 0.5
WHERE TargetInstance ISA 'Win32_PnPEntity'

当我们开始监听这些查询时,我们可以看到进程
WMI提供程序主机
正在获取一个完整的CPU核心

上述查询是否效率低下?

除了每隔
x
秒轮询一次外,是否还有更好的方法检测USB设备何时连接?请注意,我们要检测的USB设备不是作为驱动器连接的,它们是安全加密狗。

的可能副本也很有用:谢谢,我想我太不清楚我们要检测的USB设备的类型了。它们不是标准闪存驱动器,而是安全加密狗。例如,它们不作为硬盘驱动器连接到计算机。您尝试过该代码吗?似乎INSTEIN子句中的间隔太短了。0.5秒。。。这应该是显而易见的。因此,我们没有让WMI进行轮询,而是使用Rx的
Observable.Interval
进行自定义轮询。
SELECT * FROM __InstanceDeletionEvent
WITHIN 0.5
WHERE TargetInstance ISA 'Win32_PnPEntity'