我正在编写一个 C# 控制台应用程序。它将作为计划任务运行。
我希望我的 EXE 在发现另一个进程仍在运行之前的计划任务执行时快速退出。
我似乎无法找到让我的应用程序检测事件进程的方法,从而知道它是否已经在运行。
感谢任何想法。 彼得
最佳答案
一种非常常见的技术是在进程启动时创建互斥体。如果您无法创建互斥量,则表示有另一个实例正在运行。
这是 Nathan 链接中的示例:
//Declare a static Mutex in the main form or class...
private static Mutex _AppMutex = new Mutex(false, "MYAPP");
// Check the mutex before starting up another possible instance
[STAThread]
static void Main(string[] args)
{
if (MyForm._AppMutex.WaitOne(0, false))
{
Application.Run(new MyForm());
}
else
{
MessageBox.Show("Application Already Running");
}
Application.Exit();
}
关于c# - 如何检测我的程序是否在 Windows 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/957742/