在 C# 中检查进程是否正在运行

Muhammad Maisam Abbas 2023年1月30日 2021年4月29日
  1. 用 C# 中的 Process.GetProcessByName() 函数检查进程是否正在运行
  2. 使用 C# 中的 Process.GetProcessById() 函数检查进程是否正在运行
在 C# 中检查进程是否正在运行

本教程将介绍检查进程是否在 C# 中运行的方法。

用 C# 中的 Process.GetProcessByName() 函数检查进程是否正在运行

Process.GetProcessByName() 函数获取 C# 中所有相同名称的正在运行的进程。Process.GetProcessByName() 函数将进程名称作为输入,并返回以相同名称运行的所有进程的数组。我们可以使用这种方法来检查系统中是否有进程正在运行。请参见以下代码示例。

using System;
using System.Diagnostics;

namespace check_if_process_is_running
{
    class Program
    {
        static void Main(string[] args)
        {
            Process[] processes = Process.GetProcessesByName("notepad");
            if (processes.Length == 0){
                
                Console.WriteLine("Not running");
            }
            else{
                
                Console.WriteLine("Running");
            }
        }
    }
}

输出:

Running

在上面的代码中,我们检查了系统上是否正在运行名为 notepad 的进程。我们将 Process.GetProcessByName("notepad") 函数的结果存储在一系列进程中。如果数组的长度为零,这意味着该数组为空,则该进程未运行。如果数组中甚至只有一个元素,这意味着该数组不为空,则具有指定名称的进程正在我们的系统上运行。

使用 C# 中的 Process.GetProcessById() 函数检查进程是否正在运行

Process.GetProcessById() 函数获取在我们的系统中运行的进程,该进程具有 C# 中指定的进程 ID。Process.GetProcessById() 函数将进程 ID 作为参数,并返回具有指定 ID 的 Process 类的实例。此方法还可用于检查进程是否在我们的系统上运行。下面的代码示例向我们展示了如何使用 C# 中的 Process.GetProcessById() 函数检查系统中是否正在运行某个进程。

using System;
using System.Diagnostics;

namespace check_if_process_is_running
{
    class Program
    {
        static bool isRunning(int id)
        {
            try {
                Process.GetProcessById(id); 
            }
            catch (InvalidOperationException) {
                return false; 
            }
            catch (ArgumentException) {
                return false; 
            }
            return true;
        }
        
        static void Main(string[] args)
        {
            bool running = isRunning(15);
            if (running)
            {
                Console.WriteLine("Running");
            }
            else
            {
                Console.WriteLine("Not Running");
            }
        }
    }
}

输出:

Not Running

在上面的代码中,我们创建了一个 isRunning() 函数,用于检查进程是否正在运行。isRunning() 函数将进程 ID 作为参数,如果进程正在运行,则返回 true,如果未运行,则返回 false

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp Process