में जोड़े गए एक्सई को कैसे कॉल करें, इसलिए मैंने अपने प्रोजेक्ट के समाधान में एक EXE जोड़ा। EXE कुछ सामान करता है और stdout के माध्यम से डेटा आउटपुट करता है। मैं आउटपुट कैप्चर करना चाहता हूं, लेकिन अधिक महत्वपूर्ण बात यह है कि मैं अपने प्रोग्राम के भीतर EXE कैसे निष्पादित करूं?सी # - प्रोजेक्ट समाधान
6
A
उत्तर
7
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "myExec.exe";
p.Start();
3
Process.Start
। Stdout को कैप्चर करने के लिए आपको इसे ProcessStartInfo
के माध्यम से रीडायरेक्ट करने की आवश्यकता है - MSDN पर एक उदाहरण है। सुनिश्चित करें कि exe को आउटपुट निर्देशिका (बिन/रिलीज इत्यादि) में कॉपी करने के लिए चिह्नित किया गया है।
यदि आपको दोनों स्टडआउट और स्टडर से पढ़ने की आवश्यकता है तो यह मुश्किल हो जाता है (एक भयानक कार्यान्वयन के साथ बफरिंग आदि के कारण डेडलॉक का खतरा होता है) ... here's कार्यकर्ता धागे का उपयोग करके एक उदाहरण।
यह उत्तर काम किया। धन्यवाद! – user40856
हालांकि सापेक्ष फ़ाइल पथ केवल तभी काम करेगा जब वर्तमान कार्य निर्देशिका परिवर्तित नहीं हुई है ... –
उसमें पैरामीटर कैसे पास करें और इसे अतुल्यकालिक रूप से कैसे कॉल करें? –