Служба Windows для задач
Есть ли какая-то служба в операционной системе Windows, которая отслеживает все процессы, которые выполнялись на компьютере в течение дня? Диспетчер задач сообщает вам, что происходит в данный момент, но я хочу узнать, что происходит в течение всего дня.
Я знаю, что можно использовать WMI для мониторинга текущего процесса создания и удаления через систему System.Management
пространство имен. Например:
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 ответа
Просмотр событий кажется близким к тому, что вы хотите. Проверьте здесь
Возможно, нам следует начать с того, что вы пытаетесь достичь, отслеживая историю процессов.
Обычно такая история не сохраняется, если только процесс не регистрируется в журнале событий или в собственном журнале.
Каждый процесс имеет свои собственные параметры ведения журнала, поэтому это неэффективно - мы должны ориентироваться на то, что необходимо.
Если вы хотите профилировать активные события с течением времени, возможно, вам нужна служба, собирающая такую информацию с течением времени, но знание вашей конечной цели поможет обеспечить надлежащий порядок действий.
Упомянутое выше средство просмотра событий слишком расплывчато.