如何获取应用程序父进程的PID
我的winform应用程序由另一个应用程序(父应用程序)启动,我需要确定使用C#启动应用程序的应用程序的pid。
回答:
在C#中,WMI是更简单的方法。Win32_Process类具有ParentProcessId属性。这是一个例子:
using System;using System.Management; // <=== Add Reference required!!
using System.Diagnostics;
class Program {
public static void Main() {
var myId = Process.GetCurrentProcess().Id;
var query = string.Format("SELECT ParentProcessId FROM Win32_Process WHERE ProcessId = {0}", myId);
var search = new ManagementObjectSearcher("root\\CIMV2", query);
var results = search.Get().GetEnumerator();
results.MoveNext();
var queryObj = results.Current;
var parentId = (uint)queryObj["ParentProcessId"];
var parent = Process.GetProcessById((int)parentId);
Console.WriteLine("I was started by {0}", parent.ProcessName);
Console.ReadLine();
}
}
从Visual Studio运行时的输出:
我由devenv开始
以上是 如何获取应用程序父进程的PID 的全部内容, 来源链接: utcz.com/qa/418606.html