在 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
。
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