रीडायरेक्टस्टार्डआउटपूट प्रतीक्षाइएक्सिट vb


एक प्रक्रिया निष्पादित करें और उसका आउटपुट प्राप्त करें कभी सोचा कि विजुअल स्टूडियो एक प्रक्रिया को कैसे कार्यान्वित करता है - जैसे कि कंपाइलर - और पाठ को अपनी खिड़की में लौटाता है यह वास्तव में वास्तव में आसान है - और यह कैसे एक सरल उदाहरण है कि कैसे साझा समारोह GetProcessText (स्ट्रिंग के रूप में ByVal प्रूफ, स्ट्रिंग के रूप में, ByVal वर्किंग स्ट्रिंग के रूप में ByVal प्रक्रिया के रूप में ByVal प्रक्रिया) प्रक्रिया नई प्रक्रिया के रूप में प्रक्रिया के रूप में यह इस प्रक्रिया का नाम है जो हम p. StartInfo. FileName प्रक्रिया निष्पादित करना चाहते हैं यदि नहीं (कार्यशील) तो p. StartInfo. orkingDirectory workDir End अगर। स्टार्टइनफ़ो.अर्गग्राम परम को आउटपुट p. StartInfo. UseShellExecute False p. StartInfo. RedirectStandardOutput को रीडायरेक्ट करने के लिए इसे सेट करने के लिए फ़्यूज़ सेट करना आवश्यक है P. Start प्रक्रिया को प्रारंभ करें p. Start को सभी आउटपुट को पढ़ने के लिए यहां हम सिर्फ लाइन पढ़ सकते हैं लाइन द्वारा और इसे एक आउटपुट विंडो में प्रदर्शित करें Dim output as String p. StandardOutput. ReadToEnd प्रक्रिया को समाप्त करने के लिए p. WaitForExit रिटर्न आउटपुट समाप्त फ़ंक्शन आप भी पसंद कर सकते हैं प्रतीक्षा करें। System. Diagnostics. Process: StandardInput, StandardOutput, StandardError 82218217 InputAndOutputToEnd रीडायरेक्ट : एक पी पर रीडायरेक्ट इनपुट आउटपुटर का उपयोग करने का एक आसान तरीका 82218217 ltparam name8221p8221gt पी पुनर्निर्देशित करने के लिए UseShellExecute को false. ltparamgt 82218217 ltparam name8221StandardInput8221gt पर सेट होना चाहिए यह स्ट्रिंग पी को इनपुट के रूप में भेजा जाएगा। (यदि नहीं, तो कुछ भी नहीं होना चाहिए, स्टार्टइन्फ़ो। रीडायरेक्ट स्टैंडर्ड इन्पुट) एलटीपीआरएमजीटी 82218217 एलटीपीआरएम नाम 8221 मानकऑप्ट्यूपूट 8221 जीटी पी 8217 एस आउटपुट इस बायरफ स्ट्रिंग में एकत्र किए जाएंगे। (यदि कुछ नहीं है तो StartInfo. RedirectStandardOutput) होना चाहिए, ltparamgt 82218217 ltparam name8221StandardError8221gtThe p8217s त्रुटि इस ByRef स्ट्रिंग में एकत्र की जाएगी। (स्टार्टइन्फ़ो। रीडायरेक्ट स्टैन्डर्ड एंटर) नहीं तो कुछ भी नहीं होना चाहिए। ltparamgt 82218217 ltremarksgt यह फ़ंक्शन msdn. microsoft. en-library. system. diagnostics. p.standardoutput. aspxltremarksgt ltRuntimepiler पर उल्लिखित डेडलॉक समस्या को हल करता है। एक्स्टेंशन () gt उप इनपुट एंडऑप्टपुट (एंड्रॉइड) ByVal डायग्नोस्टिक्स के रूप में.प्रक्रिया, बाय वैल मानक इनपुट के रूप में स्ट्रिंग। ByRef मानक आउटपुट स्ट्रिंग। ByRef मानक स्ट्रिंग के रूप में त्रुटि) यदि पी कुछ भी नहीं है तो नया तर्क फेंक अपवाद (8220p को गैर-नल 8221 होना चाहिए) 8216 मान लें कि p। काश नहीं है 8217s जांच करने के लिए कोई रास्ता नहीं यदि p. StartInfo. UseShellExecute फिर नया तर्क फेंकता है (8220Set StartInfo. UseShellExecute false8221 पर) यदि (p. StartInfo. RedirectStandardInput ltgt (StandardInput IsNot कुछ भी नहीं)) तो नया तर्क फेंकना अपवाद (8220 केवल जब StartInfo. RedirectStandardInput8221) एक गैर-नल इनपुट प्रदान करें (p. StartInfo. RedirectStandardOutput ltgt (StandardOutput IsNot Nothing)) तब नई दलील फेंकना अपवाद (8220 केवल जब StartInfo. RedirectStandardOutput8221) एक गैर-रिक्त आउटपुट प्रदान करें (p. StartInfo. RedirectStandardError ltgt (StandardError IsNot कुछ भी नहीं)) तब नया तर्क फेंकना अपवाद (8220 प्रदान करें एक गैर-नल त्रुटि केवल जब StartInfo. RedirectStandardError8221) नई इनपुट और आउटपुटटोइंडडेटा के रूप में मंद आउटपुट डेटा एटम त्रुटि नई इनपुट और आउटपुट टॉइन्डेडेटा के रूप में यदि p. StartInfo. RedirectStandardOutput तब

Comments