原理就是:
捕获当前进程,比较新进程和当前进程的名字来阻止同名称的新进程运行。
用到了Process类,当然别忘了添加用命名空间System.Diagnostics;
static void Main()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName(current.ProcessName);
foreach (Process process in processes)
{
if (process.Id != current.Id)
{
if (process.MainModule.FileName == current.MainModule.FileName)
{
MessageBox.Show("程序已经运行", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
}
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
本文介绍了一种使用C#实现的防止应用程序重复启动的方法。通过获取当前进程信息,并检查是否有同名进程正在运行,如果发现相同文件路径的进程已存在,则显示警告并退出,确保同一时间只有一个实例运行。
328

被折叠的 条评论
为什么被折叠?



