USB 장치가 연결된 이벤트를 찾기 위해 WMI를 사용하고 있습니다.이 문제를 해결하기 위해 독립 실행 형 클래스를 만들었습니다. 내 응용 프로그램에서 클래스를 호출하자마자 작동하지 않습니다. 이 코드는 클래스를 독립 실행 형 exe로 컴파일 할 때 main()을 제외하고는 동일합니다. 코드는 다음과 같습니다.WMI 쿼리 및 이벤트는 응용 프로그램이 아닌 단일 클래스에서 작동합니까?
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 메서드가 호출되지 않습니다. 나는 그것이 그것이 범위일지도 모른다라고 생각했다. 그러나 그것이 아닌 것처럼 보인다. 나는 그것이 단순한 것이라고 확신하지만 아이디어가 없습니다. 감사!