我可以从System.Management.EventArrivedEventArgs对象ExecutablePath?
-
22-09-2019 - |
题
我使用System.Management.ManagementEventWatcher获得用于启动进程的进程ID和可执行文件的路径:
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对象已经可用?
我真正需要的是进程ID和对于启动每一个新的进程ExecuatblePath。这是明白了吗?
最简单的方法解决方案
没有,你得到了什么是尽善尽美。可用属性列这里...
其他提示
我相信这篇文章可以帮助你:使用WMI监视处理的创建,删除和修改在.NET
不隶属于 StackOverflow