2012-04-25 48 views
1

我想知道如何观察运行或终止的新进程。我可以使用Windows 7 API吗?怎么样?如何观察以Visual C++运行或终止的新进程

我在Windows 7中使用Visual C++并且不想使用.Net Framework。

+0

你能描述一下情景吗?需要监视所有进程是不常见的。通常,您应该只保留流程。 – 2012-04-25 22:09:29

+0

@raymondchen我应该记录新的运行进程或终止进程 – hamed 2012-04-26 10:28:14

+0

但是,为什么你应该记录它们? – 2012-04-26 12:54:41

回答

2

虽然你可以使用轮询(即EnumProcesses)来做到这一点,但最好的方法是事件驱动的方法。要做到这一点,你需要使用WMI。这MSDN page gives sample code

更新显然你可以使用Event Tracing for Windows作为替代,但我个人对此一无所知。

+0

WMI不是必需的。 Windows事件跟踪是一种更有效的选择。但它也是一个PITA来编程。 – arx 2012-04-25 21:33:24

+0

@arx我从来没有听说过事件追踪。感谢您的有用评论。 – 2012-04-25 21:52:17