C#遍历系统进程的方法

yizhihongxing

C#遍历系统进程主要可以使用System.Diagnostics命名空间中的Process类实现。下面是具体步骤:

1.引入System.Diagnostics命名空间

using System.Diagnostics;

2.创建一个Process对象

Process process = new Process();

3.设置Process对象的属性

process.StartInfo.FileName = "tasklist.exe";  //设置进程名
process.StartInfo.Arguments = "/fo table";    //设置输出格式
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;

4.启动Process进程并开始异步读取标准输出

process.Start();
process.BeginOutputReadLine();

5.监听Process对象的标准输出并输出每行字符串

process.OutputDataReceived += new DataReceivedEventHandler((sender, e) =>
{
    if (!string.IsNullOrEmpty(e.Data))
    {
        Console.WriteLine(e.Data);
    }
});

下面是完整示例代码1:

using System;
using System.Diagnostics;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Process process = new Process();
            process.StartInfo.FileName = "tasklist.exe";
            process.StartInfo.Arguments = "/fo table";
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.UseShellExecute = false;

            process.Start();
            process.BeginOutputReadLine();
            process.WaitForExit();

            process.OutputDataReceived += new DataReceivedEventHandler((sender, e) =>
            {
                if (!string.IsNullOrEmpty(e.Data))
                {
                    Console.WriteLine(e.Data);
                }
            });

            Console.ReadKey();
        }
    }
}

下面是完整示例代码2:

using System;
using System.Diagnostics;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Process[] processes = Process.GetProcesses();

            foreach (Process process in processes)
            {
                Console.WriteLine("Process Name: {0}, Process ID: {1}", process.ProcessName, process.Id);
            }

            Console.ReadKey();
        }
    }
}

以上示例分别演示了使用Process类获取全部进程以及使用tasklist.exe获取进程信息的两种方法,可以根据自己的需求进行选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#遍历系统进程的方法 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • C#编程中设置程序只可被运行一次的方法

    下面是详细讲解C#编程中设置程序只可被运行一次的方法的完整攻略。 问题描述 有时候我们的应用程序可能需要保证只能运行一次。比如某些每次只能打印一份报告的程序,如果不做限制,用户可能会不无节制的打印多份,造成资源浪费以及用户体验不佳等问题。那么如何在C#中实现一个程序只能运行一次的限制呢?下面将讲解两种方法。 方法一:使用命名管道 命名管道是一种高级IPC(进…

    C# 2023年5月15日
    00
  • C#动态创建Access数据库及密码的方法

    下面我将详细讲解“C#动态创建Access数据库及密码的方法”的完整攻略。 简介 Access数据库是一种常见的数据库类型,很多应用程序需要使用它来存储数据。在C#中,我们可以使用ADO.NET来连接Access数据库,而有时候我们需要动态地创建数据库,以及为数据库添加密码保护。接下来,我会给出动态创建Access数据库及密码的完整攻略。 步骤 1. 引用必…

    C# 2023年6月2日
    00
  • C#实现QQ截图功能及相关问题

    C#实现QQ截图功能及相关问题 1. 前言 在Windows系统下进行QQ截图是一种很常见的操作。开发人员可以使用C#语言来实现这个功能并且将其集成到自己的应用程序中。本文将详细讲解如何使用C#来实现QQ截图功能,是一篇有关屏幕截图技术的实用性文章。 2. 实现原理 C#实现QQ截图功能的原理与其他编程语言相同:获取屏幕的图像并对其进行编辑;接着将编辑后的图…

    C# 2023年6月6日
    00
  • C# 获取系统字体的示例代码

    获取系统字体是C#语言中常见的操作之一,可以通过以下步骤和示例代码来完成。 步骤一:导入字体库 在C#中,需要导入System.Drawing.Text的命名空间,该命名空间包含了查找系统字体的类和方法。可以在代码中使用“using System.Drawing.Text;”对该命名空间进行导入。 using System.Drawing.Text; 步骤二…

    C# 2023年5月15日
    00
  • c#创建windows服务图解示例

    创建 Windows 服务是用于在后台执行长期运行任务的强大方式。C# 提供了一种简单的方法来创建 Windows 服务,而本篇攻略将为您提供创建 Windows 服务的完整步骤,并附带两个示例代码,供您参考。 创建 Windows 服务 步骤一:创建空白的 Windows 服务 首先打开 Visual Studio,从“文件”菜单中选择“新建”>“项…

    C# 2023年6月6日
    00
  • ASP.NET Core Razor页面用法介绍

    ASP.NET Core Razor 页面是一种基于 Razor 模板引擎的视图引擎,它可以用于创建动态 Web 页面。以下是 ASP.NET Core Razor 页面用法介绍的完整攻略: 步骤一:创建 Razor 页面 在使用 Razor 页面之前,需要创建 Razor 页面。可以在 ASP.NET Core 项目中的 Pages 文件夹中创建 Razo…

    C# 2023年5月17日
    00
  • c# 复写Equals方法的实现

    下面详细讲解如何复写 C# 中的 Equals 方法。 1. 什么是 Equals 方法 在 C# 中,查看任何对象是否相等时,我们可以使用 Equals 方法。Equals 方法是一个虚方法,它是 Object 类的一部分,也就是说,所有的类都继承自 Object 类并从中继承了 Equals 方法。 默认实现是比较两个对象的引用,如果它们引用相同的对象,…

    C# 2023年6月1日
    00
  • C# 根据字符串生成二维码的实例代码

    下面是针对“C# 根据字符串生成二维码的实例代码”的完整攻略,内容包括以下几个方面:安装必要的Nuget包、导入命名空间、调用二维码生成API、示例代码说明等。 安装必要的Nuget包 在使用C#根据字符串生成二维码之前,需要安装一个Nuget包,名称为“QRCoder”,该包是由GitHub上的一个第三方开发人员维护,提供了生成和解析二维码的API。 导入…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部