如何获得 PPID [英] How To Get PPID

查看:98
本文介绍了如何获得 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆