محدود کردن برنامه به اجرای یک بار
سلام دوستان
برخی برنامه ها لازمه که فقط یک بار اجرا بشن خصوصا برنامه هایی که با ای پی سروکار دارن یا برنامه هایی که برای کار با بانکهای اطلاعاتی نوشته شدن
این موضوع مهمی هست وقتی پروژ ه ای بصورت تجاری نوشته شده و به مشتری داده شده باید جلوی باگها و خطاهای اون گرفته بشه
در این پست از متدی ساده که ازاجرای مجدد برنامه جلوگیری میکنه بهتون اموزش میدم
در این روش از کلاس mutex استفاده کردم که لازمه هدر thread نیز به پروژه اضافه بشه
ابتدا در پروژه خود کلاس program.cs رو باز کنید.......
کدهای داخل کلاس main رو پاک کنید و کدهای زیر رو جایگزین کنید
بجای appname نام پروژه خودتون بجاش بزارید
در این قطعه کد با استفاده از متغییر بولین که فقط درست یا غلط یا صفر و یک رو بررسی میکنه وضعیت اجرای برنامه را تحت کنترل داره
یه روش دیگه هم قرار دادم بنظرم روش دوم بهتره
static void Main()
{
bool runiing;
System.Threading.Mutex mtx = new System.Threading.Mutex(true,"appname",out runiing);
if (!runiing)
{
MessageBox.Show("برنامه در حال اجرا میباشد");
}
else
{
Application.Run(new Form1());
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
}
***************************************************************************
static void Main()
{
Mutex mutex = new Mutex(false, appGuid);
if (!mutex.WaitOne(0, false))
{
MessageBox.Show("برنامه در حال اجرا میباشد");
return;
}
GC.Collect();
Application.Run(new Form1());
GC.KeepAlive(mutex);
}
private static string appGuid = "f2r5f-d02fs2-f9hxGd-05Hs2s";
اجرای فقط یک بار در سی شارپ,اجرای یک باره نرم افزار,دانلود سورس سی شارپ,سورس سی شارپ,سی شارپ,محدود کردن برنامه