[ شرح ] السماح بنسخة واحدة تعمل من البرنامج

Deve-PoinT

Deve-PoinT

Administrative
طاقم الإدارة
مــدير عـــام
11 يوليو 2022
711
5
67
28
Egypt
Advertisement
بعد بحث وجدت الحل :

ضع هذا الكود في Program.cs قبل كل شيء في void Main :
Advertisement

كود:
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
Advertisement

Advertisement
attachment.php

1675048005912
Advertisement


ال Mutex حسب ما فهمت هو مفهوم لادارة الوصول من خلال ال Threads المختلفة للاعضاء
Advertisement

ما يحدث هو ان نقوم بعمل Mutex جديد باسم مميز في نقطة انطلاق البرنامج void Main قبل استدعاء نسخة من فورم البداية ،

Advertisement
و اذا لم تكن هذه هي النسخة الاولى من هذا ال Mutex نقوم بعمل Return من void Main

طيب الاسم المميز الذي اخترناه في هذا الكود هو MyApp ،
Advertisement

الان هناك مشكله : اي برنامج تقوم بعمله باستخدام هذه الطريقة ايضا ونفس الاسم MyApp سيمنع من التشغيل ايضا اذا كان البرنامج الاخر يعمل ، لذلك يجب ان تقوم باستبدال MyApp الى اسم مميز للبرنامج

Advertisement
طريقة جميلة لعمل ذلك هو استخدام Guid البرنامج من داخل AssemblyInfo.cs :

ثم نضعه كاسم لل Mutex :
Advertisement

كود:
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
Advertisement

Advertisement
الان برنامجي سيعمل مرة واحدة فقط في نفس الوقت Smile
 
Advertisement