منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

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

كيف يتم غلق جميع الملفات لبرنامج معين
توضيح
عندى مثلا 3 ملفات ورد و4 ملفات اكسل وملف اكسس عايز اقفل كل الملفات المتعلقة بالاكسل والورد مثلا
انا وصلت لكود وهو غلق الملف او البرنامج من خلال اسمه ومش هو ده المطلوب لانه هنا بحدد الملف اللى عايز اقفله لكن معرفش ايه اسم الملف ولكن عايز اقفل كل الملفات
وشكرا
السلام عليكم و رحمة الله تعالى و بركاته
بخصوص طلبك : فهناكعدة طرق
سأقوم بوضع طريقتان
الأولى عن طريق cmd أعني بذلك من خلال أمر الدوس (Command DOS)
مثال لــ Word :
كود :
Shell "taskkill /im " & Chr(34) & "WINWORD.EXE" & Chr(34) & " /f /t", vbHide

مثال لــ Excel :

كود :
Shell "taskkill /im " & Chr(34) & "EXCEL.EXE" & Chr(34) & " /f /t"
أما الطريقة الثانية فهي من خلال DataBase الخاصة بالجهاز و المعروفة بإسم WMI

كود :
Public Sub Terminate(Process As String, Optional PID As Long = 0)
  StrPID = IIf(Not PID = 0, " AND ProcessId=" & PID, "")
 
  Set Obj = GetObject("winmgmts:\\.\root\CIMV2")
  Set ColItems = Obj.ExecQuery("SELECT * FROM Win32_Process WHERE Name='" & Process & "'" & StrPID, , 48)
 
  For Each Obj In ColItems
      Obj.Terminate
  Next
End Sub

الأن ما عليك سوى أن تضع اسم البرنامج ليكةن الكود كالتالي
بالنسبو لـ Word :

كود :
Terminate("WINWORD.EXE")

بالنسبة لــ Excel :

كود :
Terminate("EXCEL.EXE")

أتمنى أن يكون هذا ما تريده
بالتوفيق أخي