任务的Windows服务

时间:2013-06-09 02:23:49

标签: c# windows task task-management

Windows操作系统中是否有某种服务可以跟踪全天在计算机上运行的所有进程?任务经理告诉你当前发生了什么,但我想知道整天发生的事情。

我知道通过系统use WMI to monitor ongoing process creation and deletion可以System.Management namespace。 E.g:

String query = @"SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'";

ManagementEventWatcher watcher = new ManagementEventWatcher(query);

// Set up a listener for events
watcher.EventArrived += new EventArrivedEventHandler(this.HandleEvent);

// Start listening
watcher.Start();

但我想知道是否有一个API(甚至是WMI)已经跟踪了当前Windows会话的进程生命周期。

如果我的问题过于笼统和模糊,我道歉。

2 个答案:

答案 0 :(得分:1)

事件查看器似乎接近你想要的。查看here

答案 1 :(得分:0)

也许我们应该从跟踪流程历史记录的工作开始。

通常,除非进程记录到事件日志或其自己的日志中,否则不会存储此类历史记录。

每个流程都有自己的日志记录首选项,因此无效 - 我们必须针对所需的目标。

如果您希望随着时间的推移描述活动事件,也许您需要一项收集此类信息的服务 - 但了解您的最终目标将有助于提供正确的行动方案。

上面提到的事件查看器sol'n太模糊了。