الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل تريد إغلاق أى برنامج يعمل على الجهاز .

مغلق
بدأه mahamedaboali في 30 مارس 2007 · 3 رد · 734 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
bsmla.gif

هذا كود بسيط لغلق أى برنامج يعمل على الجهاز .

قد يستفاد منه فى حالة تعارض برنامجك مع برنامج آخر .

اكتب التالي في موديل Module

Declare Function FindWindow Lib "user32" Alias _
	  "FindWindowA" (ByVal lpClassName As String, _
	  ByVal lpWindowName As String) As Long
Declare Function PostMessage Lib "user32" Alias _
	  "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
	  ByVal wParam As Long, lParam As Any) As Long

Public Const WM_CLOSE = &H10

اكتب التالي في المكان الذي تريد مع تحديد اسم البرنامج ولنفرض Notepad

Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, "Notepad")
Debug.Print winHwnd

If winHwnd <> 0 Then
	  RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
	  If RetVal = 0 Then
			MsgBox "خطأ في عملية ارسال الرسالة"
	  End If
Else
	  MsgBox "الدفتر مفتوح"
End If

التوقيع باظ جارى عمل توقيع جديد .............................

#2

1- ببساطة ممكن تضبط برنامجك لرفض الرسالة WM_CLOSE و بالتالى كودك هيفشل.

2- لازم تعمل حساب أنه ممكن يكون فى أكتر من نافذة مفتوحة بنفس الأسم فالمفوض تعمل Loop

3- أعمل بحث على موقع هنا و فى الجوجل عن كيفية عمل Terminate a process من خلال الـ VB و ستصل الى كود أفضل.

#4

شكرا لكما على هذه المساهمة الجميلة والإضافات المفيدة .

التوقيع باظ جارى عمل توقيع جديد .............................

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

مواضيع مشابهة