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

C#中如何获取父进程ID

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

        在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” 的相关文章

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

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

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

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

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

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

实现内网穿透的几种方式

实现内网穿透的几种方式

        大部分普通电脑对外都没有固定的公网IP、或处于NAT网络内,要从局域网外直接访问该电脑,需要借助第三方工具。一、有一台公网固定IP服务器的情况1、Nginx&nbs...

Redis内存占用率过高问题排查

Redis内存占用率过高问题排查

        若使用了Redis的应用程序没有业务量或并发量的突然爆发,在常规情况下Redis内存占用率越来越高并有爆满的趋势,此时应立即排查原因。当感觉在处...

.NET Framework下调用jar包

.NET Framework下调用jar包

        jar包通常能被JAVA直接调用,但当我们不希望使用JAVA而在.NET Framework下调用jar包时,我们可以借助IKVM工具先将jar...

基于Windows实现应用程序以服务方式自动运行的几种方式

基于Windows实现应用程序以服务方式自动运行的几种方式

        在Windows平台上要让一个应用程序自动运行,有如下几种方式:①at命令、schtasks命令、计划任务或组策略等;②开始菜单的启动文件夹;③...

发表评论

访客

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