هایپر سورس

مرجع کاربردی برنامه نویسان ایـــرانی

اجرای فقط یک نسخه از برنامه سی شارپ به روش mutex

گاهی اوقات لازم میشود تا فقط یک نسخه از یک نرم افزار اجرا شود
در این پست قصد اموزش این عمل را به کمک Mutex در سی شارپ که کاری بسیار اسان است را داریم

در پروژه ویندوفرم سی شارپ خود از بخش Solution فایل program.cs را باز کنید و کد را بصورت زیر تغییر دهید

        static void Main()
        {
            bool runed;
            System.Threading.Mutex mtx = new System.Threading.Mutex(true,"ApplicationName",out runed);
            if (!runed)
            {
                MessageBox.Show("برنامه در حال اجرا است");
            }
            else
            {
                Application.Run(new Form1());
            }
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            
        }

گفتنی است در عبارت mutext پارامتر اول مقداری true میگیرد و مقدار دوم یک رشته با مقدار اختیاری که معمولا نام برنامه می باشد و مقدار سوم یک متغیر با مقدار خارجی از نوع bool
میگیرد
بعد از اجرا mutex حالا bool تعریف شده در اول دارای مقدار است (چون از نوع out داخل تابع میباشد)
با برسی درست یا اشتباه بودن مقدار runed میتوان وضعیت برنامه را تشخیص داد که اگر در حال اجرا است با اجرا مجدد یک پیام به کاربر نشان دهد
در غیر این صورت برنامه اجرا گردد


dapoxetine keflex 500mg betamethasone tube
pet prescription discount card blog.suntekusa.com cialis discount coupons
lamisil para que sirve go lamisil crema
cleocin cream mattnichols.co.uk cleocin ovuli

تخفیف میخواهید یا کد تخفیف دارید ؟

دریافت

قیمت آموزش : 0 تومان
قیمت با تخفیف : تومان
عنوان محصول : اجرای فقط یک نسخه از برنامه سی شارپ به روش mutex

چگونه میتوانم این محصول را با تخفیف دریافت نمایم ؟

  • 1) اگر عضو سایت باشید، 5% تخفیف در محصول اعمال میشود (برای اعمال شدن این مورد میبایست وارد حساب کاربری خود شوید)
  • 2) اگر موجودی حساب شما بالاتر از 0 تومان باشد، 10% تخفیف بر روی محصول اعمال خواهد شد (این مبلغ برای این محصول میباشد)
  • 3) در صورتی که در سایت به عنوان کاربر نویسنده باشید و حداقل 3 پست داشته باشید، 10% تخفیف اعمال خواهد شد
  • مشاهده وضعیت تخفیف ها برای این محصول
  • در صورتی که تمامی شرایط بالا را داشته باشید میتوانید این محصول را باقیمت 0 تومان دریافت نمایید.
  • همچنین میتوانید با وارد کردن کد تخفیف، از میزان تخفیف کد و شرایط بالا بصورت همزمان استفاده کنید

بستن
در صورتی که سوالی راجع به این آموزش دارید در بخش نظرات همین پست مطرح و از ارسال ان از بخش ارتباط با ما خود داری نمائید

ناشناس پاسخ

ممنون خیلی عالی بود ولی کاش کمی عمیق تر در مورد متد توضیح میدادین.

مدیر سایت پاسخ

دوست عزیز الان امکان تست رو ندارم ولی فک کنم شما باید با متد
Application.OpenForms
در قسمت اجرای مجدد برنامه (همون بجای نمایش پیام) مثلا بشکل
Application.OpenForms[0].Activate() یا Show() استفاده کنید و یا
یک بخش proccess های سیستم رو به کمک System.Diagnostics.Proccess.GetProcess() چک کنید و در صورت یافتن نام برنامه خود اون رو اکتیو و یا فوکوس کنید
buscopan plus buscopan hund buscopan 10 mg
lamisil para que sirve lamisil comprimidos lamisil crema

حسین استانستی پاسخ

عالی بود

ali پاسخ

به جای مسیج باکس اگه بخوایم برنامه در حال اجرا فوکوس بشع چکار کنیم؟
cialis online coupon go cialis manufacturer coupon 2016

فتاح پاسخ

اما تو این روش وقتی نرم افزار اول ریستارت بشه میشه یه نسخه جدا باز دوباره اجرا کرد چرا هیچ راه درست و حسابی واسه اجرای یک بار برنامه نیست خسته شدم انقد گشتم .. :|

مدیر سایت پاسخ

منظورتونو درست متوجه نشدم
من اینطوری فهمیدم که اگر فرم اجرا شده رو ریستارت کنیم میشه برنامه رو مجدد اجرا کرد !
تست کردم فرم جدید اجرا نمیشه در حین ریستارت باز هم پیام برنامه در حال اجراس رو نمایش میده
اگه این نیست بیشتر توضیح بدین
pet prescription discount card new prescription coupons cialis discount coupons
kamagra gél chamceul.ind.ws kamagra ára
cleocin cream cleocin cream cleocin ovuli
enalapril 10 mg enalapril sandoz enalapril bivirkninger
هم اکنون نـــظر بدهید

HyperSourCe.ir

info@hypersource.ir

کلیه حقوق برای وب سایت هایپر سورس محفوظ است
CopyRight ©2014-2018
ارتباط با ما
نام شما
ایمیل
موبایل
آیدی تلگرام
رمز عبور را فراموش کرده ام

محصولقیمتبا تخفیف

لطفا منتظر بمانید. . .

پیام سیستم