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

C#中如何获取父进程ID

竹林之风7个月前 (11-30)技术积累1809

        在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#中如何获取父进程ID” 的相关文章

可迁移数据库的基本命名和实施规范

可迁移数据库的基本命名和实施规范

前言        数据库管理系统(DBMS)是各类信息系统的核心组成部分,常用的关系数据库系统(RDBMS)有SQLite、SQL Server、MySQL、...

Android开发从新手开始(一)——概述

Android开发从新手开始(一)——概述

前言        做为一个程序员,不应该将自己限定在自己熟悉的平台和语言上,而也应该多去了解一下其它平台和语言。这样可以吸取各个平台和语言的思想,提升自己解决...

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

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

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

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

        ASP.NET Core网站报“An assembly specified in the application dependencies ma...

发表评论

访客

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