2012-06-19 11 views
5

संभव डुप्लिकेट:
How to know if Process.Start() is successful?सी # - कैसे जांच करने के लिए करता है, तो एक प्रक्रिया सफलतापूर्वक प्रारंभ हो गया

मैं एक प्रक्रिया एक निगरानी के लिए इसी तरह की है मेरे कार्यक्रम में (इसे WD कॉल) जो एक और चल रही प्रक्रिया है (चलिए इसे A कहते हैं)। मैं एक निश्चित घटना पर WD प्रक्रिया शुरू कर रहा हूं, मान लीजिए कि एक कुंजी दबाई जाती है और मैं इस प्रक्रिया के साथ एक और प्रक्रिया शुरू करना चाहता हूं, चलो इसे B पर कॉल करें।

बात यह है कि मैं B प्रक्रिया को सफलतापूर्वक शुरू करने के बाद प्रारंभिक प्रक्रिया A को बंद करना चाहता हूं। मैं इसे कैसे देख सकता हूं?

मैं प्रक्रिया WD और BProcess.Start(argList) और ProcessInfo(argList) वाक्यविन्यास के साथ शुरू कर रहा हूं।

प्रत्येक प्रक्रिया एक साधारण सी # कंसोल एप्लिकेशन है।

+0

आप कोशिश {} {} पकड़ का उपयोग कर tryed है:

आपका कोड कुछ की तरह होना चाहिए? –

+0

बात यह है कि कोशिश पकड़ने का अनुभाग आपको अपवाद खोलने में मदद करता है। मैं पहले से ही यह कर रहा हूं, लेकिन यह मुझे उस प्रक्रिया के उद्घाटन के लिए प्रतीक्षा समय के बारे में जानकारी नहीं देता है। – Simon

उत्तर

4

Process.Start एक बूलियन (सच यदि प्रक्रिया सही ढंग से शुरू कर दिया) चेक इस MSDN link Process.Start के लिए() विधि देता है।

 Process B= new Process(); 

     try 
     { 
      B.StartInfo.UseShellExecute = false; 
      B.StartInfo.FileName = "C:\\B.exe"; 
      B.StartInfo.CreateNoWindow = true; 
      if (B.Start()) 
      { 
       // Kill process A 
      } 
      else 
      { 
       // Handle incorrect start of process B and do NOT stop A 
      } 

     } 
     catch (Exception e) 
     { 
      // Handle exception and do NOT stop A 
     } 
0

Process.Start

रिटर्न: सच अगर एक प्रक्रिया संसाधन शुरू कर दिया है; झूठी यदि कोई नया प्रक्रिया संसाधन शुरू नहीं हुआ है (उदाहरण के लिए, यदि मौजूदा प्रक्रिया का पुन: उपयोग किया जाता है)।

मुझे लगता है कि आपको केवल Process.Start का वापसी मूल्य देखना चाहिए। यदि इसका true है, तो आप वर्तमान प्रक्रिया को बंद कर सकते हैं।

आपके द्वारा उपयोग किए जाने वाले अधिभार के आधार पर, वापसी मूल्य null हो सकता है यदि यह विफल रहता है।

संबंधित मुद्दे