检测Windows进程使用C#而不使用WMI启动和退出事件

使用WMI的ManagementEventWatcher / EventArrivedEventHandler将导致创build另一个线程,我试图避免。 WMI也知道它的延迟。
所以我的问题是:如何检测Windows进程创build/终止与C#没有WMI? 有没有办法从非托pipe代码做到这一点?

Solutions Collecting From Web of "检测Windows进程使用C#而不使用WMI启动和退出事件"

您可以使用Windows事件跟踪 (ETW)。 具体而言,您需要查看内核事件追踪器中 Process类的子类 。

我从来没有使用托管代码,但这个博客文章看起来很有用。

我不知道这是否会在您的过程中创建额外的线程。

总之,您不需要WMI来监视进程事​​件。 您可以使用ETW,但我不知道它是否完全符合您的要求。

就我所知,订阅进程创建/销毁事件唯一受支持的方式是通过WMI。 我认为你拒绝了投票的选择,在这种情况下,它是WMI或者是萧条。