我正在使用 WMI 查找插入 USB 设备的事件。我创建了一个独立类来尝试这个,效果很好!一旦我从我的应用程序中调用该类,它就不起作用。代码是相同的,除了当我将类编译为独立 exe 时的 main() 。代码如下:
ManagementScope scope = new ManagementScope("root\\CIMV2"); //set the scope
WqlEventQuery query = new WqlEventQuery("SELECT * FROM __InstanceCreationEvent WHERE TargetInstance ISA 'Win32_PnPEntity'"); //set the events
watcher = new ManagementEventWatcher(scope, query);
watcher.EventArrived += new EventArrivedEventHandler(this.DeviceChangeEventReceived);
watcher.Start();
DeviceChangeEventReceived 方法在内置到较大的应用程序中时永远不会被调用。我认为这可能是范围,但似乎不是。我确信这很简单,但我没有想法。谢谢!