السلام عليكم ورحمة الله وبركاتة
كيف يمكنني منع ظهور(أو تشغيل) أكثر من نسخة للبرنامج حيث عندما نقوم بذلك في الـ VB نكتب :
if app.prevInstant then end
ما هو الامر المقابل لة في الـ C# .
شكرا
(h)
السلام عليكم ورحمة الله وبركاتة
كيف يمكنني منع ظهور(أو تشغيل) أكثر من نسخة للبرنامج حيث عندما نقوم بذلك في الـ VB نكتب :
if app.prevInstant then end
ما هو الامر المقابل لة في الـ C# .
شكرا
(h)
سبحان الله وبحمده سبحان الله العظيم
ممكن تستفيد من الكلاس بتاع Diagnostics.Process في بداية برنامجك في معرفة ما اذا كان يوجد نسخه من برنامجك تعمل أم لا ... اذا كان نعم قم بانهاء البرنامج واذا كان لا اجعله يعمل بشكل طبيعي.
السلام عليكم جميعا
هو ده الي انا فهمته من السؤال ولا ايه
Process aProcess = Process.GetCurrentProcess();
string aProcName = aProcess.ProcessName;
if (Process.GetProcessesByName(aProcName).Length > 1)
{
MessageBox.Show("لا يمكن تشغيل أكثر من نسخة من البرنامج","error",MessageBoxButtons.OK,MessageBoxIcon.Stop);
return;
}
put this code in the main function before the line
Application.Run( new ...);لاتحسبن المجد تمرا انت اكلهوا.... لن تبلغ المجد حتى تلعق الصبرا
ومن يتهيب صعود الجبال ...:::... يعش أبد الدهر بين الحفر
"وَيَا قَوْمِ اسْتَغْفِرُوا رَبَّكُمْ ثُمَّ تُوبُوا إِلَيْهِ يُرْسِلِ السَّمَاءَ عَلَيْكُمْ مِدْرَارًا وَيَزِدْكُمْ قُوَّةً إِلَى قُوَّتِكُمْ وَلَا تَتَوَلَّوْا". (أيه 52 سورة هود)
أَمَرَ بِالِاسْتِغْفَارِ الَّذِي فِيهِ تَكْفِير الذُّنُوب السَّالِفَة وَبِالتَّوْبَةِ عَمَّا يَسْتَقْبِلُونَ وَمَنْ اِتَّصَفَ بِهَذِهِ الصِّفَة يَسَّرَ اللَّه عَلَيْهِ رِزْقه وَسَهَّلَ عَلَيْهِ أَمْره وَحَفِظَ شَأْنه وَلِهَذَا قَالَ " يُرْسِل السَّمَاء عَلَيْكُمْ مِدْرَارًا "
وَفِي الْحَدِيث" مَنْ لَزِمَ الِاسْتِغْفَار جَعَلَ اللَّه لَهُ مِنْ كُلّ هَمّ فَرَجًا وَمِنْ كُلّ ضِيق مَخْرَجًا وَرَزَقَهُ مِنْ حَيْثُ لَا يَحْتَسِب ".
(تفسير ابن كثير)
انظر الى هذا الكود من دلفي
var HM: THandle; function Check: boolean; begin HM := OpenMutex(MUTEX_ALL_ACCESS, false, 'MyOwnMutex'); Result := (HM=0); if HM = 0 then HM := CreateMutex(nil, false, 'MyOwnMutex'); end; if Check=false then Exit; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;
لاحظ الدالتين OpenMutex
CreateMutex دوال API
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
علي المصري كتب:السلام عليكم جميعاهو ده الي انا فهمته من السؤال ولا ايه
Process aProcess = Process.GetCurrentProcess(); string aProcName = aProcess.ProcessName; if (Process.GetProcessesByName(aProcName).Length > 1) { MessageBox.Show("لا يمكن تشغيل أكثر من نسخة من البرنامج","error",MessageBoxButtons.OK,MessageBoxIcon.Stop); return; } put this code in the main function before the line Application.Run( new ...);
عفوا انا لا افهم #C ولكني(قياسا على كود دلفي ) اعتقد ان الرسالة يجب ان تكون قبل
Application.Run( new ...);
يعني قبل
Application.Initialize
مباشرة
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
هذا الموضوع مغلق.