【问题标题】:Retrieve a complete processes list using C#使用 C# 检索完整的进程列表
【发布时间】:2009-03-01 11:33:24
【问题描述】:

我正在尝试编写一个 C# 程序来检索完整的进程列表。但是我发现一个应用程序打开了一个窗口,但我在 Windows 任务管理器的进程选项卡中看不到它,我在任务选项卡中看到它。此外,我也无法使用我的 C# 代码获取它的信息。

static void showProcesses()
{
    Process[] procs = Process.GetProcesses();

    foreach (Process proc in procs)
    {
        Console.WriteLine(proc.ProcessName);
    }
}

我浏览了很多论坛,但我只能找到隐藏进程的方法,我没有找到任何显示隐藏进程的方法。有人知道如何检索隐藏的进程信息吗?

【问题讨论】:

    标签: c# windows process


    【解决方案1】:

    Windows 上没有隐藏进程。仅限您没有(安全)权限查看的进程。

    以管理员身份运行的进程(在 Vista/Win7/Win2k8 中需要提升)将始终能够看到所有进程。

    但是,列出进程的控制台应用程序可能会在任务管理器的显示刷新之前退出,因此不会被看到。即使更新速度设置为“高”,简单的程序也可能出现这种情况。

    在任务管理器更新其显示之前,您需要保留您的进程。最简单的方法是将以下语句添加到 Main 方法的末尾:

    Console.Write("Press ENTER to exit");
    Console.ReadLine();
    

    【讨论】:

      【解决方案2】:

      我不确定你的意思。上面的代码列出了与pslist 相同数量的进程。当您谈论隐藏进程的方法时,您是在谈论根工具包吗?如果是这样,它们通常通过更改列表命令的工作方式来工作。 IE。实际上正在枚举进程,但不会向用户显示信息。

      【讨论】:

        【解决方案3】:

        它工作得很好,你只需要添加:

        Console.Write("Press ENTER to exit");
        Console.ReadLine();
        

        使用 ctrl + F5 结束或启动项目

        【讨论】:

          猜你喜欢
          • 2012-04-26
          • 2011-03-29
          • 2021-03-09
          • 1970-01-01
          • 2022-06-26
          • 2016-11-13
          • 1970-01-01
          • 2017-11-30
          • 1970-01-01
          相关资源
          最近更新 更多