当前位置:首页 > 技术积累 > 正文内容

C#中如何获取父进程ID

        在C#中,可以使用System.Diagnostics命名空间来获取父进程的ID。下面是一个示例代码:

using System;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        int parentId = GetParentProcessId();
        Console.WriteLine("Parent Process ID: " + parentId);
    }

    static int GetParentProcessId()
    {
        int parentId = -1;
        try
        {
            Process currentProcess = Process.GetCurrentProcess();
            parentId = currentProcess.Parent().Id;
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
        }
        return parentId;
    }
}

public static class ProcessExtensions
{
    public static Process Parent(this Process process)
    {
        try
        {
            using (ManagementObject managementObject = new ManagementObject($"win32_process.handle='{process.Id}'"))
            {
                managementObject.Get();
                int parentId = Convert.ToInt32(managementObject["ParentProcessId"]);
                return Process.GetProcessById(parentId);
            }
        }
        catch
        {
            return null;
        }
    }
}

        这个例子中,GetParentProcessId方法使用System.Management命名空间获取当前进程的父进程ID。注意需要引用System.Management程序集。


扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/379.html

分享给朋友:
返回列表

上一篇:C++中如何将DWORD转换为LPWSTR

没有最新的文章了...

相关文章

浅谈API接口

浅谈API接口

        API接口作为面向外部系统的门户,其背后是数据,用于隔离系统与数据,方便各异构系统整合与交互。不同系统之间的交互本质上是数据的交互,若直接访问各...

通用基础表逻辑设计(一)——配置、枚举和类别

通用基础表逻辑设计(一)——配置、枚举和类别

一、配置表        一个系统中往往有很多需要可自定义的参数,比如网站名称、联系地址等基础参数以及各种系统运行参数等等,这个时候就需要单独一个参数配置表来保...

ASP.NET实现HTTP长轮询(二)——一般处理程序ashx

ASP.NET实现HTTP长轮询(二)——一般处理程序ashx

        本文主要描述如何在ASP.NET一般处理程序中实现长轮询:(1)实现IAsyncResult:using System; using System.Threadi...

通用基础表逻辑设计(三)——功能权限

通用基础表逻辑设计(三)——功能权限

概述        在一个应用系统中有多个用户,用户通常分为多种角色,每种角色的用户能够访问的页面、能够查看的数据或者能够执行的操作等各有不同,因此需要设计与实...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。