c# - 如何获取 PPID

标签 c# process

我正在开发 MS Windows C# Winform 项目,但无法获取 PPID(父进程 ID)。 我找到了很多解决方案,但似乎没有一个适用于所述操作系统和语言。

如何获得 PPID?

最佳答案

如果您可以使用 System.Management,那就很简单了:

    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 like this 诉诸 P/Invoke 调用

关于c# - 如何获取 PPID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14020430/

相关文章:

c# - 签名中的匿名类型

c# - 是否有可能在 DataGridView 中有一列用作允许用户输入新值的组合框?

c# - 如何从 JavaScript 或 C# 中的日期/时间字符串中删除秒数?

c# - C#检测特定进程的CPU架构

作为线程调用的 C 函数 - Linux 用户态程序

c++ - C++中判断是进程还是线程

c# - cpu/内存密集型任务的最佳(python)设置

c# - 外键自动验证不起作用 Core 2.1

阻塞的 python 程序占用 6% 的 CPU?

multithreading - 在处理网络连接时,有没有办法利用多核?