लचीली और शक्तिशाली प्रोग्रामिंग भाषा Visual Basic. NET, Microsoft. NET प्लेटफ़ॉर्म के लिए अनुप्रयोगों को विकसित करने के लिए विशेष रूप से बनाए गए टूल में से एक होने के नाते, आपको इसकी सभी क्षमताओं का पूरी तरह से उपयोग करने की अनुमति देता है। विशेष रूप से, System. Diagnostics नाम स्थान के घटक आपको प्रक्रियाओं, ईवेंट लॉग और प्रदर्शन काउंटर के साथ सहभागिता करने की अनुमति देते हैं। उदाहरण के लिए, आप Visual Basic से प्रोसेस क्लास का उपयोग करके किसी प्रोग्राम को बंद कर सकते हैं।
ज़रूरी
माइक्रोसॉफ्ट विजुअल स्टूडियो।
निर्देश
चरण 1
सिस्टम, सिस्टम। डायग्नोस्टिक्स, और सिस्टम। थ्रेडिंग नेमस्पेस आयात करें। मॉड्यूल की शुरुआत में कोड की निम्नलिखित पंक्तियाँ जोड़ें:
आयात प्रणाली
आयात प्रणाली। निदान
आयात प्रणाली। थ्रेडिंग
यह केवल इन नामस्थानों से जुड़े घटकों के उपयोग की सुविधा के लिए है।
चरण 2
प्रक्रिया का डेटा बंद करने के लिए प्राप्त करें। System. Diagnostics. Process क्लास ऑब्जेक्ट का उपयोग करें। इस वर्ग का एक चर घोषित करें:
प्रक्रिया के रूप में मंद oProc
फिर आवश्यक प्रक्रिया को खोजने के लिए किसी विधि का उपयोग करें।
चरण 3
यदि प्रोग्राम, जिसे भविष्य में बंद करने की आवश्यकता होगी, विकसित किए जा रहे एप्लिकेशन द्वारा लॉन्च किया गया है, तो स्टार्टअप पर स्टार्ट विधि द्वारा लौटाए गए ऑब्जेक्ट को बस सहेजें:
oProc = Process. Start ("app.exe")
चरण 4
यदि आपको किसी ज्ञात पहचानकर्ता के साथ एक प्रक्रिया को बंद करने की आवश्यकता है, तो संबंधित ऑब्जेक्ट प्राप्त करने के लिए प्रक्रिया वर्ग की स्थिर GetProcessById विधि का उपयोग करें:
oProc = Process. GetProcessById (nID)
जहां nID प्रक्रिया का संख्यात्मक पहचानकर्ता है।
चरण 5
यदि लक्ष्य प्रक्रिया की केवल कुछ विशेषताओं को ही जाना जाता है, तो उसे खोजें। प्रक्रिया वर्ग की वस्तुओं की एक सरणी के रूप में स्थानीय मशीन पर चल रही प्रक्रियाओं की सूची प्राप्त करें। GetProcesses (सभी प्रक्रियाओं को लौटाता है) या GetProcessesByName (केवल दिए गए नाम के साथ प्रक्रियाएं) विधियों का उपयोग करें:
प्रक्रिया के रूप में मंद aoAllProcesses () = प्रक्रिया। GetProcesses ()
प्रक्रिया के रूप में मंद aoProcsByName () = Process. GetProcessesByName ("app.exe")
लूप का उपयोग करके सरणी वस्तुओं की सूची बनाएं:
प्रक्रिया के रूप में मंद oProc
प्रत्येक oProc के लिए aoAllProcesses में
'oProc' पर कार्रवाई
अगला
मेनमॉड्यूल, मेनविंडोटाइटल, प्रोसेसनाम, आदि गुणों के माध्यम से लूप करें। वांछित वस्तु खोजने के लिए।
चरण 6
इसकी मुख्य विंडो पर एक करीबी संदेश भेजकर प्रोग्राम को समाप्त करने का प्रयास करें। लक्ष्य प्रक्रिया के अनुरूप ऑब्जेक्ट की CloseMainWindow विधि को कॉल करें। यदि आवश्यक हो, तो WaitForExit को कॉल करके एप्लिकेशन के पूरा होने की प्रतीक्षा करें, उदाहरण के लिए:
oProc. CloseMainWindow ()
oProc. WaitForExit ()
यह विधि कार्यक्रम की समाप्ति की गारंटी नहीं देती है, क्योंकि विंडो बंद संदेश को अक्सर संसाधित किया जाता है और इसे अनदेखा किया जा सकता है।
चरण 7
यह सुनिश्चित करने के लिए कि प्रोग्राम समाप्त हो गया है, CloseMainWindow को कॉल करने के बाद थोड़े समय के लिए प्रतीक्षा करें। थ्रेड क्लास की स्लीप विधि का उपयोग करें। फिर HasExited संपत्ति की जांच करके प्रक्रिया की स्थिति की जांच करें और यदि यह समाप्त नहीं हुआ है, तो किल विधि को कॉल करें:
धागा। नींद (6000)
oProc. Refresh ()
यदि oProc. HasExited नहीं है तो
oProc.किल ()
अगर अंत
यदि वांछित है, तो आप डेटा को सहेजे बिना एप्लिकेशन को समाप्त करने के लिए उपयोगकर्ता को आवधिक संकेत जारी करते हुए, एक लूप में प्रक्रिया की स्थिति का सर्वेक्षण कर सकते हैं। और केवल तभी जब आप किल को कॉल करने के लिए सहमत हों।
चरण 8
क्लोज विधि का उपयोग करके प्रोग्राम समाप्त होने के बाद सिस्टम संसाधनों को मुक्त करें:
oProc.बंद करें ()
चरण 9
एप्लिकेशन निष्पादन के दौरान अप्रत्याशित त्रुटियों से बचने के लिए, संपूर्ण प्रोग्राम क्लोजिंग एल्गोरिथम को ट्राई-कैच-एंड ट्राई ब्लॉक में रखें। यदि आवश्यक हो, तो नैदानिक संदेशों के साथ पूर्ण अपवाद प्रबंधन को लागू करें।