. ومع ذلك ، فهي قصيرة عند محاولة تحديد آخر وقت تنفيذ لعملية انتهت بالفعل.
WMI: الحل
باستخدام النظام ؛ باستخدام System.Management ؛ الطبقة العامة ProcessMonitor { الفراغ الثابت العام (سلسلة [] args) { // مشاهدة العملية تبدأ باستخدام (var startwatch = new ManagementEventWatcher (wqleventquery جديد ("حدد * من Win32_ProcessStartTrace")))))))))))))))))))))) { startWatch.EventArdrived = startWatch_eventArdved ؛ StartWatch.start () ؛ // شاهد توقف العملية باستخدام (var stopwatch = new ManagementEventWatcher (wqleventquery جديد ("SELECT * من Win32_ProcessStopTrace"))))))))))))))))))))) { توقيت. توقيت. ستارت () ؛ Console.Writeline ("نشاط عملية المراقبة. اضغط على أي مفتاح للخروج.") ؛ console.ReadKey () ؛ } StartWatch.stop () ؛ } } private static void foldwatch_eventarrived (مرسل الكائن ، eventArrevedeventArgs e) { console.writeline ($ "توقفت العملية: { } private static void startwatch_eventarrived (مرسل الكائن ، eventArrevedeventArgs e) { console.writeline ($ "بدأت العملية: { } }
using System;
using System.Management;
public class ProcessMonitor
{
public static void Main(string[] args)
{
// Watch for process starts
using (var startWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace")))
{
startWatch.EventArrived = StartWatch_EventArrived;
startWatch.Start();
// Watch for process stops
using (var stopWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStopTrace")))
{
stopWatch.EventArrived = StopWatch_EventArrived;
stopWatch.Start();
Console.WriteLine("Monitoring process activity. Press any key to exit.");
Console.ReadKey();
}
startWatch.Stop();
}
}
private static void StopWatch_EventArrived(object sender, EventArrivedEventArgs e)
{
Console.WriteLine($"Process stopped: {e.NewEvent.Properties["ProcessName"].Value}");
}
private static void StartWatch_EventArrived(object sender, EventArrivedEventArgs e)
{
Console.WriteLine($"Process started: {e.NewEvent.Properties["ProcessName"].Value}");
}
}
كيفية استخدام
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3