在 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