هل يمكنني الحصول على ExecutablePath من النظام.إدارة.EventArrivedEventArgs الكائن ؟
-
22-09-2019 - |
سؤال
أنا باستخدام النظام.إدارة.ManagementEventWatcher للحصول على معرف العملية والقابلة للتنفيذ في مسار بدأ العملية:
private void startWatcher_EventArrived(Object sender, EventArrivedEventArgs e)
{
String processID = e.NewEvent.Properties["ProcessID"].Value.ToString();
var searcher = new ManagementObjectSearcher(new WqlObjectQuery(String.Format("Select ExecutablePath from Win32_Process where ProcessID = {0}", processID)));
ManagementObject managementObject = null;
foreach (ManagementObject obj in searcher.Get())
{
managementObject = obj;
break;
}
Console.WriteLine(managementObject["ExecutablePath"]);
}
باستخدام هذا WQL الاستعلام:
حدد ExecutablePath من Win32_ProcessStartTrace
هل هناك طريقة يمكنني تجنب القيام الكائن البحث, ولكن لا يزال الحصول على ExecutionPath ، وذلك باستخدام ما هو متاح بالفعل في EventArrivedEventArgs الكائن ؟
كل ما احتاجه هو ProcessID و ExecuatblePath لكل عملية جديدة أن يبدأ.هذا هو أبسط طريقة للحصول على ذلك ؟
المحلول
لا ما عليك هو جيدة كما يحصل.الخصائص المتوفرة مدرجة هنا...
نصائح أخرى
أعتقد أن هذه المادة يمكن أن تساعدك: باستخدام WMI لمراقبة عملية إنشاء, حذف و تعديل .صافي
لا تنتمي إلى StackOverflow