لغة البرمجة المرنة والقوية Visual Basic. NET ، كونها واحدة من الأدوات التي تم إنشاؤها خصيصًا لتطوير التطبيقات لمنصة Microsoft. NET ، تتيح لك استخدام جميع إمكاناتها بشكل كامل. على وجه الخصوص ، تسمح لك مكونات مساحة الاسم System. Diagnostics بالتفاعل مع العمليات وسجلات الأحداث وعدادات الأداء. على سبيل المثال ، يمكنك إغلاق برنامج من Visual Basic باستخدام فئة المعالجة.
ضروري
مايكروسوفت فيجوال ستوديو
تعليمات
الخطوة 1
قم باستيراد مساحات أسماء System. Diagnostics و System. Threading. أضف سطور التعليمات البرمجية التالية إلى بداية الوحدة النمطية:
نظام الواردات
نظام الواردات
نظام الواردات
هذا فقط من أجل تسهيل استخدام المكونات المرتبطة بمساحات الأسماء هذه.
الخطوة 2
إحضار بيانات العملية ليتم إغلاقها. استخدم كائن فئة System. Diagnostics. Process. قم بتعريف متغير من هذه الفئة:
خافت عملية المعالجة
ثم استخدم بعض الطرق للعثور على العملية المطلوبة.
الخطوه 3
إذا تم تشغيل البرنامج ، الذي سيحتاج إلى إغلاقه في المستقبل ، بواسطة التطبيق الجاري تطويره ، فما عليك سوى حفظ الكائن الذي تم إرجاعه بواسطة طريقة Start عند بدء التشغيل:
oProc = Process. Start ("app.exe")
الخطوة 4
إذا كنت بحاجة إلى إغلاق عملية بمعرف معروف ، فاستخدم طريقة GetProcessById الثابتة لفئة العملية للحصول على الكائن المقابل:
oProc = Process. GetProcessById (nID)
حيث nID هو المعرف الرقمي للعملية.
الخطوة الخامسة
إذا كانت بعض خصائص العملية المستهدفة معروفة فقط ، فابحث عنها. احصل على قائمة العمليات التي تعمل على الجهاز المحلي كمصفوفة من كائنات فئة المعالجة. استخدم أساليب GetProcesses (إرجاع جميع العمليات) أو GetProcessesByName (العمليات بالاسم المحدد فقط):
Dim aoAllProcesses As Process () = Process. GetProcesses ()
Dim aoProcsByName As Process () = Process. GetProcessesByName ("app.exe")
قائمة كائنات المصفوفة باستخدام حلقة:
خافت عملية المعالجة
لكل عملية في جميع العمليات
إجراءات على oProc
التالي
تكرار خلال الخصائص MainModule و MainWindowTitle و ProcessName وما إلى ذلك. للعثور على الكائن المطلوب.
الخطوة 6
حاول إنهاء البرنامج عن طريق إرسال رسالة إغلاق إلى نافذته الرئيسية. استدعاء الأسلوب CloseMainWindow للكائن المطابق للعملية الهدف. إذا لزم الأمر ، انتظر حتى يكتمل التطبيق عن طريق الاتصال بـ WaitForExit ، على سبيل المثال:
oProc. CloseMainWindow ()
oProc. WaitForExit ()
لا تضمن هذه الطريقة إنهاء البرنامج ، حيث تتم معالجة رسالة إغلاق النافذة غالبًا ويمكن تجاهلها.
الخطوة 7
انتظر لفترة قصيرة من الوقت بعد استدعاء CloseMainWindow للتأكد من إنهاء البرنامج. استخدم طريقة السكون لفئة مؤشر الترابط. ثم تحقق من حالة العملية عن طريق فحص خاصية HasExited ، وإذا لم تنته ، فاتصل بطريقة Kill:
خيط النوم (6000)
oProc. Refresh ()
إن لم يكن oProc. HasExited بعد ذلك
oProc. Kill ()
إنهاء إذا
إذا رغبت في ذلك ، يمكنك الاستقصاء عن حالة العملية في حلقة ، وإصدار مطالبات دورية للمستخدم لإنهاء التطبيق دون حفظ البيانات. وفقط إذا وافقت على الاتصال بـ Kill.
الخطوة 8
حرر موارد النظام بعد انتهاء البرنامج باستخدام طريقة الإغلاق:
oProc. Close ()
الخطوة 9
لتجنب الأخطاء غير المتوقعة أثناء تنفيذ التطبيق ، ضع خوارزمية إغلاق البرنامج بالكامل في كتلة Try-Catch-End Try. تنفيذ معالجة الاستثناءات الكاملة مع رسائل التشخيص ، إذا لزم الأمر.