方法1:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Diagnostics;
namespace MonitorHardDisk
{
static class Program
{
private static System.Threading.Mutex mutex;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
mutex = new System.Threading.Mutex(true, "OnlyRun");
if (mutex.WaitOne(0, false))
{
Application.Run(new Form1());
}
else
{
MessageBox.Show("程序已经在运行!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Application.Exit();
}
}
}
}
方法2:
#region 禁止多进程启动控制
bool b;
Mutex m = new Mutex(true, "PharmeyesDDIWinUIThreadCs", out b);
int i = 0;
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
{
if ("Pharmeyes.DDI.WinUI".ToLower().Equals(p.ProcessName.ToString().ToLower()))
{
i++;
}
}
if (!b || i > 1)
{
log.Info(string.Format("程序在系统进程中已存在!...................................."));
return;
}
#endregion
判断程序是否已启动
最新推荐文章于 2024-02-24 17:30:00 发布