شماره تماس : 09014413449

    ...

  • ...

  • ...

  • ...

ثبت نام / ورود

محدود کردن برنامه به اجرای یک بار

mba
10 شهریور 1400
دسته بندی csharp-asp.net

سلام دوستان
برخی برنامه ها لازمه که فقط یک بار اجرا بشن خصوصا برنامه هایی که با ای پی سروکار دارن یا برنامه هایی که برای کار با بانکهای اطلاعاتی نوشته شدن
این موضوع مهمی هست وقتی پروژ ه ای بصورت تجاری نوشته شده و به مشتری داده شده باید جلوی باگها و خطاهای اون گرفته بشه
در این پست از متدی ساده که ازاجرای مجدد برنامه جلوگیری میکنه بهتون اموزش میدم
در این روش از کلاس 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";

 

اجرای فقط یک بار در سی شارپ,اجرای یک باره نرم افزار,دانلود سورس سی شارپ,سورس سی شارپ,سی شارپ,محدود کردن برنامه

نظرات

برای ارسال نظر شما باید ابتدا وارد حساب کاربری خود شوید.