为什么Win32_ProcessStopTrace-Events到达,但Win32_ProcessStartTrace没
本文关键字:Win32 ProcessStartTrace 到达 ProcessStopTrace-Events 为什么 | 更新日期: 2023-09-27 18:19:20
考虑以下代码:
using (ManagementEventWatcher watcher = new ManagementEventWatcher("select * from Win32_ProcessStopTrace")) {
watcher.EventArrived += (object sender, EventArrivedEventArgs e) => {
Console.WriteLine("{0} stopped", (string)e.NewEvent["ProcessName"]);
};
watcher.Start();
while (!Console.KeyAvailable)
System.Threading.Thread.Sleep(50);
watcher.Stop();
}
当我运行这段代码(作为管理员)时,它会在我关闭任何其他应用程序时通知我。
第一:当使用Win32_ProcessStartTrace
而不是Win32_ProcessStopTrace
时,我没有收到任何启动进程的通知。为什么呢?
第二:如果有可能监视(每个)启动进程,我可以暂停它们,做其他事情,然后继续执行它们吗?
版本信息:
Windows 8.1 x64 (v6.3 Build 9600)
。. NET Framework v4.0.30319
, 4.6.00081(根据VS)我不知道是否需要特定的更新,所以你可以要求他们)
正如@HansPassant指出的那样,这个查询不适用于Windows 8.1。这与安全更新(KB3045999)有关。在已知问题下有一个修复程序(KB3094199)的链接来修复这个问题。安装此修复程序并重新启动计算机后,查询终于工作了。