0

WMI非同期クエリに絶対デフォルト設定を使用する場合:

mgtEvWatcher = new ManagementEventWatcher("SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'"); 
mgtEvWatcher.EventArrived += new EventArrivedEventHandler(mgtEvWatcher_EventArrived); 

これは、WMI非同期クエリを実行するのに十分ですか?プロセス作成のイベントをキャプチャしたい。エラーや例外はありませんが、アプリケーションを開くたびに(cmd-> calcで試してみましたが、覚えていないものもあります)、何も起こりません。

4

1 に答える 1

0

メソッドを呼び出していますManagementEventWatcher.Startか?イベントを購読するには

また、プロセスの作成を監視する場合は、__InstanceCreationEvent代わりにwmiクラスを使用する必要があります。

このコードを試してください

mgtEvWatcher = new ManagementEventWatcher("SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'"); 
mgtEvWatcher.EventArrived += new EventArrivedEventHandler(mgtEvWatcher_EventArrived); 
mgtEvWatcher.Start();
于 2011-07-09T01:07:35.077 に答える