مرحباً اخى ahmadpal
كود الاخ عبدالله الصافي
هو الانسب لك بنائاً على ردك الاخير
ولكن يبدو انك تعاملت مع الكود كا نسخ ولصق فقط
وحتى تكون الامور مبسطة وسلسة بدون اى تعقيدات
تابع معى الكود التالى وطريقة الاستخدام وستكون الامور ابسط من ما يكون
الكود الاول وهو اضافة
Sub
كود :
Private Sub CheckIfRunning(ByVal NProgram As String)
Dim p() As Process
p = Process.GetProcessesByName(NProgram)
If p.Count > 0 Then
' ضع الكود المراد التعامل معه فى حالة ان البرنامج يعمل
Else
' وهنا فى حالة انه لا يعمل نفذ الكود المراد تنفيذه
End If
End Sub
الان ناتى فى اى حدث وليكن داخل زر ونطبق السطر التالى
كود :
CheckIfRunning("Notepad")
طيب بداً من اسم او كلمة Notepad كيف يمكننى كتابة الاسم المراد كتابته لاسم البرنامج
لاتمام اامر كل ما عليك فعله التالى قم بفتح Task Manager
من ثم قم بتشغيل البرنامج الذى لديك لمعرفة اسمه ثم حاحظ كما فى الصورة التالية
لاحظ الاسم الذى يدرج فى عمود Name هنا يتم تطبيق الاسم لتوضع بدلاً من المسمى فى الكود
تذكر ان هذا الكود يعمل على البرامج الخارجية وليس على فورم اخر داخل المشروع
الان يفترض ان يكون الشكل النهائي لديك على سبيل المثال بهذا الشكل الخاص بـ
Sub
كود :
Private Sub CheckIfRunning(ByVal NProgram As String)
Dim p() As Process
p = Process.GetProcessesByName(NProgram)
If p.Count > 0 Then
' ضع الكود المراد التعامل معه فى حالة ان البرنامج يعمل
MsgBox("عفواً البرنامج يعمل مسبقاً الرجاء اغلاقه البرنامج لاتمام العملية")
Else
' وهنا فى حالة انه لا يعمل نفذ الكود المراد تنفيذه
Process.Start("C:\myprogram.exe")
' Or
' Process.Start("Notepad")
End If
End Sub
اتمنى ان تكون الصورة كاملة ومبسطة لديك الان
تحيات لك
وتمنياتى لك التوفيق