جلوگیری از باز شدن مجدد برنامه
این پروژه برای جلو گیری از باز شدن مجدد برنامه در برنامه های ویندوز اپلیکیشنی می باشد طوری که با هر بار کلیک روی آیکن برنامه برنامه برای چندین مرتبه باز نشود وقتی وارد cpu شد دیگر از باز شدن مجدد آن جلوگیری می کند تا ما از یک برنامه چندین اجرا نداشته باشیم و خوانایی برنامه به مشکل بخورد
کلاس اول برای جلوگیری از تعدد باز شدن به نام Run Already
کلاس دوم به نام ProcessIsRuning حالت چک دارد که برسی اجمالی را انجام می دهد .
Program.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; namespace Tirage.MainStand { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { PublicClass.Class.RunAlready RunAPP = new PublicClass.Class.RunAlready(); string outApp = RunAPP.processIsRunning("Tirage.MainStand"); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); MainStand_FrmLogin fLogin = new MainStand_FrmLogin(); if (outApp.Length == 0) { if (fLogin.ShowDialog() == DialogResult.OK) { Application.Run(new MainStand_masterFrm()); } } else MessageBox.Show( "Instance already running"); } } }
class RunAlready:
===================
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PublicClass.Class { public class RunAlready { public string processIsRunning(string process) { string xdescription = ""; System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName(process); foreach (System.Diagnostics.Process proc in processes) { var iddd = System.Diagnostics.Process.GetCurrentProcess().Id; if (proc.Id != System.Diagnostics.Process.GetCurrentProcess().Id) { xdescription = "Application Run At time:" + proc.StartTime.ToString() + System.Environment.NewLine; xdescription += "Current physical memory : " + proc.WorkingSet64.ToString() + System.Environment.NewLine; xdescription += "Total processor time : " + proc.TotalProcessorTime.ToString() + System.Environment.NewLine; xdescription += "Virtual memory size : " + proc.VirtualMemorySize64.ToString() + System.Environment.NewLine; } } return xdescription; } } }
آخرین دیدگاهها