110,539
社区成员
发帖
与我相关
我的任务
分享
ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
WqlEventQuery query2 = new WqlEventQuery(
"__InstanceDeletionEvent",
new TimeSpan(0, 0, 1),
"TargetInstance ISA \"Win32_Process\"");
ManagementEventWatcher watcher2 = new ManagementEventWatcher(scope, query2);
watcher2.EventArrived += (s2, e2) => {
Console.WriteLine("Process {0} has been deleted.",
((ManagementBaseObject)e2.NewEvent.Properties["TargetInstance"].Value).Properties["Name"].Value.ToString());
};
watcher2.Start();
这个只能“监视”,不知能不能判断它是否“正常”关闭。[/quote]
是否正常关闭不需要了,我只需要知道他是否是被关掉了··
再问下,用这个方法的话,性能怎么样?ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
WqlEventQuery query2 = new WqlEventQuery(
"__InstanceDeletionEvent",
new TimeSpan(0, 0, 1),
"TargetInstance ISA \"Win32_Process\"");
ManagementEventWatcher watcher2 = new ManagementEventWatcher(scope, query2);
watcher2.EventArrived += (s2, e2) => {
Console.WriteLine("Process {0} has been deleted.",
((ManagementBaseObject)e2.NewEvent.Properties["TargetInstance"].Value).Properties["Name"].Value.ToString());
};
watcher2.Start();
这个只能“监视”,不知能不能判断它是否“正常”关闭。