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

كيفية إغلاق برنامج مفتوح

بدأه VULPINE في 3 سبتمبر 2009 · 6 رد · 3,831 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه ،،

أريد معرفة كيفية إغلاق برنامج مفتوح مسبقاً في الويندوز ,, أي إذا أردت إغلاق برنامج الويندوز ميديا بلاير مثلاً فأقوم باستخدام التالي إذا أردت استخدام ال DOS

Shell("cmd /ctaskkill /f /im wmplayer.exe")

ولكني لا أريد استخدام الدوز نهائياً ,, إنما أريد دالة في الفيجوال بيسك دوت نت لعمل ذلك بدون أي برنامج خارجي

السلام عليكــم ورحمـة الله وبركاتــه ،،

تم تعديل هذه المشاركة بواسطة VULPINE في 3 سبتمبر 2009 في 23:59

#2

هذه الدالة تستقبل اسم البرنامج ProcessName و تقوم بالبحث عنه ثم تغلقه :

	Sub KillProcess(ByVal processName As String)
		Dim procs As Process() = Process.GetProcesses()
		For Each prc As Process In procs
			If prc.ProcessName = processName Then
				prc.Kill()
			End If
		Next
	End Sub

مثال :

KillProcess("notepad")

سيتم غلق إي برنامج notepad.exe مفتوح.

تحياتي...

تم تعديل هذه المشاركة بواسطة محمد رضى في 4 سبتمبر 2009 في 00:24

#3
محمد رضى كتب:
هذه الدالة تستقبل اسم البرنامج ProcessName و تقوم بالبحث عنه ثم تغلقه :

	Sub KillProcess(ByVal processName As String)
		Dim procs As Process() = Process.GetProcesses()
		For Each prc As Process In procs
			If prc.ProcessName = processName Then
				prc.Kill()
			End If
		Next
	End Sub

مثال :

KillProcess("notepad")

سيتم غلق إي برنامج notepad.exe مفتوح.

تحياتي...

السلام عليكــم ورحمـة الله وبركاتــه ،،

بســم الله الـرحمــن الرحيــم

صديقي شكراً لك على هذا الكود الفعال ,, ولكنني أطلب منك الشرح إذا أمكن

والصلاة والسلام والبركات من الله على سيد المرسلين وآله وصحبه أجمعين

السلام عليكــم ورحمـة الله وبركاتــه ،،

#4

و عليكم السلام و رحمة الله و بركاته,,,

نعم أخي الكريم...

	Sub KillProcess(ByVal processName As String)
' نحصل هنا على لائحة أو مجموعة البرامج المشتغلة حاليا
		Dim procs As Process() = Process.GetProcesses()
' نستعرض كل البرامج بحثا على اسم البرنامج المطلوب غلقه
		For Each prc As Process In procs
' إذا وجدنا الإسم...
			If prc.ProcessName = processName Then
' نقوم بغلق البرنامج
				prc.Kill()
			End If
		Next
	End Sub

ملاحظة : هذا الكود يغلق كل البرامج من نفس النوع. يعني أنه إذا كان اثنان أو أكثر من برنامج notepad مثلا مشتغلين سوف يغلق الكل. و لك حرية تحرير الكود و تنقيحه للعمل كما تريد.

تحياتي...

#5
محمد رضى كتب:
و عليكم السلام و رحمة الله و بركاته,,,

نعم أخي الكريم...

	Sub KillProcess(ByVal processName As String)
' نحصل هنا على لائحة أو مجموعة البرامج المشتغلة حاليا
		Dim procs As Process() = Process.GetProcesses()
' نستعرض كل البرامج بحثا على اسم البرنامج المطلوب غلقه
		For Each prc As Process In procs
' إذا وجدنا الإسم...
			If prc.ProcessName = processName Then
' نقوم بغلق البرنامج
				prc.Kill()
			End If
		Next
	End Sub

ملاحظة : هذا الكود يغلق كل البرامج من نفس النوع. يعني أنه إذا كان اثنان أو أكثر من برنامج notepad مثلا مشتغلين سوف يغلق الكل. و لك حرية تحرير الكود و تنقيحه للعمل كما تريد.

تحياتي...

السلام عليكــم ورحمـة الله وبركاتــه ،،

بســم الله الـرحمــن الرحيــم

شكراً لك أخي ,, أنا لقد فهمت الخطوات مسبقاً ,, ولكن ما أريد صراحة هو شرح للخلية Progress

وكذلك أريد أن أسألك عن كيفية وضع البرامج المفتوحة ضمن ListBox إذا أمكن

وجعله الله في ميزان حسناتك يوم القيامة

وصلى الله وسلم وبارك على سيدنا محمد وعلى آله وصحبه أجمعين

السلام عليكــم ورحمـة الله وبركاتــه ،،

#6

العنصر Process يمثل تطبيق مشتغل حاليا على الحاسوب. التطبيق له مسلك رئيسي يحجز له نظام التشغيل وقت الوحدة المركزية للاشتغال. المسلك يشغل قطعة من كود التطبيق. و يمكن للتطبيق أن يحوي عددا من المسالك. المسلك الرئيسي هو الذي يشغل نقطة الدخول إلى التطبيق أو الدالة Main.

الدالة GetProcesses ترجع لنا لائحة التطبيقات المشتغلة حاليا. يمكن لك تحميل لائحة التطبيقات على مربع لائحة من نوع ListBox :

Dim procs as Process() = Process.GetProcesses()
For Each prc As Process In procs
	ListBox1.Items.Add(prc.ProcessName)
Next

تحياتي...

#7
محمد رضى كتب:
العنصر Process يمثل تطبيق مشتغل حاليا على الحاسوب. التطبيق له مسلك رئيسي يحجز له نظام التشغيل وقت الوحدة المركزية للاشتغال. المسلك يشغل قطعة من كود التطبيق. و يمكن للتطبيق أن يحوي عددا من المسالك. المسلك الرئيسي هو الذي يشغل نقطة الدخول إلى التطبيق أو الدالة Main.

الدالة GetProcesses ترجع لنا لائحة التطبيقات المشتغلة حاليا. يمكن لك تحميل لائحة التطبيقات على مربع لائحة من نوع ListBox :

Dim procs as Process() = Process.GetProcesses()
For Each prc As Process In procs
	ListBox1.Items.Add(prc.ProcessName)
Next

تحياتي...

جزاك الله خيراً ,, وصلت الفكرة

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