بسم الله الرحمن الرحيم
الرجاء من الأخوة مساعدتي في كيفية جعل البرنامج يعمل لمرة واحدة.
أي انه اذا قمت بتشغيل البرنامج، واردت ان اشغل البرنامج مرة ثانية يعطيني رسالة تفيد ان البرنامج شغال، او لايمكن تشغيل نسختين من البرنامج نفسه
ولكم جزيل الشكر
بسم الله الرحمن الرحيم
الرجاء من الأخوة مساعدتي في كيفية جعل البرنامج يعمل لمرة واحدة.
أي انه اذا قمت بتشغيل البرنامج، واردت ان اشغل البرنامج مرة ثانية يعطيني رسالة تفيد ان البرنامج شغال، او لايمكن تشغيل نسختين من البرنامج نفسه
ولكم جزيل الشكر
اللهم لا سهل الا ماجعلته سهلا، وانت تجعل الصعب ان شئت سهلا

Class System.Threading.Mutex يضع مؤشراً في الذاكرة، و يمكنك عن طريق هذا المؤشر أن تتحكم في تشغيل التطبيق، يعني لو كان هذا المؤشر موجود في الذاكرة فهذا يعني ان التطبيق شغال بالفعل، و لا يعمل عندما يقوم المستخدم بالضغط على الـ EXE الخاص به، أما لو كان هذا المؤشر غير موجود بالذاكرة فهذا معناه ان التطبيق الآن غير شغال و بالتالي يقوم بتشغيله..
ضع هذا الـ Module في مشروعك، و حدد الـ Startup Object للـ Sub Main ، بالاضافة الى ان الفورم الاساسية للمشروع اسمها frmMain:
Imports System.Threading
Module Initial
Public Sub Main()
Dim NotRunning As Boolean
Dim mMutex As Mutex = New Mutex(False, "OneInstance", NotRunning)
If NotRunning = True Then
Application.Run(New frmMain())
Else
MessageBox.Show("You can not run more than one instance of the application." & vbCrLf & "Please close the running instance if necessary.", "Application is already running.", MessageBoxButtons.OK, MessageBoxIcon.Information)
Application.Exit()
End If
End Sub
End Moduleتم تعديل هذه المشاركة بواسطة محمد عبد العليم في 28 مايو 2005 في 20:00
رأس الحكمة الإيمان بالله
بسم الله الرحمن الرحيم
الف الف الف الف شكرا لك اخي العزيز على مجهودك
واتمنى لك التوفيق باذن الله سبحانه وتعالى
اللهم لا سهل الا ماجعلته سهلا، وانت تجعل الصعب ان شئت سهلا

هذا الموضوع مغلق.