在过去的几个月中,我一直在使用ManagementEventWatcher来监视新进程的启动,并且它一直没有任何问题。但是,我最近刚刚再次尝试了我的应用程序,似乎不再调用新流程的事件。

这是示例代码:

   var startWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace"));

和事件:
private static void ProcessStart_EventArrived(object sender, EventArrivedEventArgs e)
{
            Console.WriteLine("AppStarted");
}

我还在另一位 friend 的计算机(也是Win 8.1)上进行了测试,该计算机具有旧的二进制文件(在过去的几个月中也很好用),并且他也不再接收事件。

Win32_ProcessStartTrace似乎仅存在此问题,因为Win32_ProcessStopTrace正常运行,并且在进程停止时接收事件。

最近是否有任何Windows更新可能会干扰这一点?自从上次运行以来,我系统的环境没有改变(除了win更新)。

最佳答案

我有这个问题。要修复此问题,您需要卸载Windows Update“kb3045999”。

去做这个:

  • 打开Windows更新
  • 单击“查看更新历史记录”
  • 单击顶部
  • 中的“已安装的更新”
  • 向下滚动,直到看到“Windows安全更新(KB3045999)
  • 右键单击并卸载
  • 重新启动计算机

  • 然后应解决此问题。

    10-06 09:11