本文介绍了如何获得 PPID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在处理 MS Windows C# Winform 项目,但无法获取 PPID(父进程 ID).我找到了很多解决方案,但没有一个似乎适用于上述操作系统和语言.
I am working on a MS Windows C# Winform project and I cannot get the PPID (Parent Process ID).I've found many solutions but none that seem to work with said OS and language.
我如何获得 PPID?
How can I get PPID?
推荐答案
如果你可以使用 System.Management,那就很简单了:
If you can use System.Management, it's easy enough:
private static int GetParentProcess(int Id)
{
int parentPid = 0;
using (ManagementObject mo = new ManagementObject("win32_process.handle='" + Id.ToString() + "'"))
{
mo.Get();
parentPid = Convert.ToInt32(mo["ParentProcessId"]);
}
return parentPid;
}
否则你可能不得不通过 CreateToolhelp32Snapshot 调用 P/Invoke 调用像这样
Otherwise you may have to resort to P/Invoke calls via CreateToolhelp32Snapshot like this
这篇关于如何获得 PPID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!