测试函数:
private bool AppAlreadyRunning()
...{
System.Diagnostics.Process curProcess = System.Diagnostics.Process.GetCurrentProcess();
System.Diagnostics.Process[] allProcess = System.Diagnostics.Process.GetProcesses();
foreach (System.Diagnostics.Process process in allProcess)
...{
if (process.Id != curProcess.Id)
...{
if (process.ProcessName == curProcess.ProcessName)
return true;
}
}
return false;
}
应用程序中直接判断:
System.Diagnostics.Process[] pros =
System.Diagnostics.Process.GetProcessesByName(
System.Diagnostics.Process.GetCurrentProcess().ProcessName);
if (pros.Length > 1)
...{
Application.Exit();
return;
}
在此向提供代码参照的同行表示感谢!
检测重复运行进程
本文介绍了一种检测应用程序是否已存在运行实例的方法。通过获取当前进程信息,并与其他正在运行的进程进行对比,确保应用不会重复启动。同时提供了两种实现方式:一是通过遍历所有进程并比较名称;二是直接获取相同名称的进程数量。
124

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



