C#遍历系统进程的方法

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#使用Socket实现局域网聊天

    C#使用Socket实现局域网聊天攻略 简介 本攻略将介绍如何使用C#中的Socket类实现基于局域网的聊天功能。在该聊天室中,客户端和服务器端都需要使用Socket类来完成通信功能。在进入具体实现前,需要先说明一些基础概念和准备工作。 基础概念 Socket:Socket是实现网络通信的底层操作。它是位于传输层的,用于实现网络应用程序之间的双向通信。 IP…

    C# 2023年6月1日
    00
  • C# 参考之访问关键字:base、this

    C# 参考之访问关键字:base、this 在C#开发中,我们经常需要使用到 base 和 this 这两个关键词来访问父类和当前类的成员。本文将深入介绍 base 和 this 关键字的用法和注意事项。 访问父类成员 base 关键字用于访问父类中定义的成员,包括字段,方法和属性。在子类中,如果存在一个和父类同名的成员,我们可以使用 base 关键字来调用…

    C# 2023年5月31日
    00
  • C#实现图形界面的时钟

    下面就来详细讲解一下怎么用C#实现图形界面的时钟。 1. 准备工作 首先,我们需要安装Visual Studio。可以去官网下载安装,根据自己的需求选择不同版本。 2. 创建项目 打开Visual Studio,点击“新建项目” -> “Windows桌面” -> “Windows窗体应用程序”,命名为“Clock”。 3. 添加控件 我们需要添…

    C# 2023年6月1日
    00
  • C#编程自学之运算符和表达式

    C#编程自学之运算符和表达式 运算符 C#中的运算符是用来对值进行计算、比较或连接等操作的符号。常用的运算符包括算术运算符、关系运算符、逻辑运算符和赋值运算符等。 算术运算符 算术运算符包括加、减、乘、除、取余数和取负数等。其中加减乘除符号分别为“+”、“-”、“*”、“/”,取余符号为“%”,取负符号为“-”。 // 加减乘除示例 int a = 3; i…

    C# 2023年6月6日
    00
  • 浅谈使用MVC模式进行JavaScript程序开发

    让我们来讲一下如何使用MVC模式进行JavaScript程序开发的完整攻略。先来了解一下什么是MVC模式吧。 什么是MVC模式 MVC模式拆分JavaScript应用程序为Model、View和Controller三个部分。M表示数据模型(model),V表示用户界面(view),C表示控制逻辑(controller)。这种将应用程序分解成三个独立的部分的方…

    C# 2023年5月31日
    00
  • 新Orcas语言特性-查询句法

    下面我来为您详细讲解“新Orcas语言特性-查询句法”的完整攻略。 1. 什么是“查询句法”? Orcas是一门面向对象的编程语言,其中的“查询句法”是一种用于从集合中筛选出符合条件的元素的语法。使用“查询句法”,您可以用简单易懂的语言编写出复杂的查询语句,来实现类似于SQL的数据查询功能。 2. 如何使用“查询句法”? 要使用“查询句法”,您需要先创建一个…

    C# 2023年6月7日
    00
  • .NET Core剪裁器背后的技术及工作原理介绍

    .NET Core剪裁器背后的技术及工作原理介绍 什么是.NET Core剪裁器? .NET Core剪裁器是一个用于减小应用程序大小的工具。它从.NET Core运行库和应用程序生产的DLL文件中,移除未使用的程序代码和库,以减小最终应用程序的大小。通过使用.NET Core剪裁器,可以显著减少应用程序的磁盘空间占用和部署时间,并提高应用程序的执行速度。 …

    C# 2023年6月3日
    00
  • IIS7.5 检测到在集成的托管管道模式下不适用的 ASP.NET设置

    当在IIS 7.5中运行ASP.NET应用程序时,可能会遇到以下错误消息:“IIS7.5检测到在集成的托管管道模式下不适用的ASP.NET设置”。这个错误通常是由于应用程序的配置不正确所致。本文将提供解决此问题的完整攻略,包括错误原因、解决方案和示例。 错误原因 当在IIS 7.5中运行ASP.NET应用程序时,应用程序的配置必须与IIS的托管管道模式相匹配…

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