Process searchSonProcess(int processId)
{var myId = processId;
var query = string.Format("SELECT ProcessId FROM Win32_Process WHERE ParentProcessId = {0}", myId);
var search = new ManagementObjectSearcher("root\\CIMV2", query);
var results = search.Get().GetEnumerator();
if (!results.MoveNext()) throw new Exception("Huh?");
var queryObj = results.Current;
uint sonId = (uint)queryObj["ProcessId"];
var sonProcess = Process.GetProcessById((int)sonId);
return sonProcess;
}
Process searchParentProcess(int processId)
{
var myId = processId;
var query = string.Format("SELECTParentProcessIdFROM Win32_Process WHEREProcessId= {0}", myId);
var search = new ManagementObjectSearcher("root\\CIMV2", query);
var results = search.Get().GetEnumerator();
if (!results.MoveNext()) throw new Exception("Huh?");
var queryObj = results.Current;
uintparentId= (uint)queryObj["ParentProcessId"];
var parent = Process.GetProcessById((int)parentId);
returnparent;
}
本文提供了一个使用C#的方法来查询Windows环境下进程的父进程和子进程。通过调用WMI (Windows Management Instrumentation) 查询Win32_Process表,可以获取指定进程ID的父进程和子进程的信息。
2426

被折叠的 条评论
为什么被折叠?



