मैं Windows फॉर्म को कंसोल/कमांड लाइन पर कमांड कैसे पास कर सकता हूं?

मैंने एक नया विंडोज फॉर्म एप्लीकेशन बनाया है

चित्र की तरह दिखता है (सरलीकृत)

enter image description here

...

इसके अलावा मेरे पास एक कमांड लाइन प्रोग्राम है (पायथन)

यह पथ में "myApp" के रूप में सहेजा गया है

इसे चलाने के लिए, कमांड लाइन पर बस "myApp" टाइप करें (और इसे विकल्प पास करें) टाइप करें

...

यह बहुत अच्छा है, लेकिन मैं चाहता हूं कि कोई कमांड लाइन से परिचित/आरामदायक न हो

कार्यक्रम का उपयोग करने में सक्षम हो। इसलिए फॉर्म।

...

तो सवाल यह है कि, मैं इसे कैसे सेट अप कर सकता हूं, जैसे बटन क्लिक पर,

फ़ॉर्म कमांड लाइन पर सीधे टाइपिंग के बराबर करता है ??

...

मुझे लगता है कि यह संभव है क्योंकि अगर मैं एक नया कंसोल अनुप्रयोग, और कोड शुरू करता हूं

system("myApp");

यह वास्तव में यह करता है

...

हालांकि जब मैं विंडोज फॉर्म में 'सिस्टम' कोड का उपयोग करता हूं, तो मुझे एक मिलता है

'system': identifier not found

त्रुटि

0

3 उत्तर

आप कमांड लाइन से शुरू करने जैसे किसी भी विंडोज cmd कमांड को चलाने के लिए System.Diagnostics.Process.Start विधि का उपयोग कर सकते हैं।

नमूना कोड:

System.Diagnostics.Process.Start("py script.py");

एमएसडीएन आधिकारिक दस्तावेज़ीकरण

वाह, त्वरित उत्तर के लिए बहुत बहुत धन्यवाद! जब मैं इसका उपयोग करता हूं, तो मुझे एक त्रुटि C2882: 'सिस्टम' मिलता है: अभिव्यक्ति में नेमस्पेस पहचानकर्ता का अवैध उपयोग शायद क्योंकि मैं एक .h फ़ाइल बनाम एक .vb का उपयोग कर रहा हूं ??
जोड़ा लेखक Jet Blue, स्रोत
मैं देखता हूं, मैं धन्यवाद देखता हूँ! दिए गए लिंक के माध्यम से पढ़ने के लिए थोड़ा सा पोस्ट करेंगे
जोड़ा लेखक Jet Blue, स्रोत
यह धन्यवाद काम करता है !!
जोड़ा लेखक Jet Blue, स्रोत
क्या आपके पास पहले से ही आपके कोड में नाम कोड है जिसे System कहा जाता है? संकलन त्रुटि C2882 मुझे msdn.microsoft.com/en-us/library दिखाता है /vstudio/96c84dtx.aspx
जोड़ा लेखक kdh, स्रोत

You should use the Process class with an appropriately set up ProcessStartInfo. There's a detailed example at ProcessStartInfo

2
जोड़ा

अगर ऐसा लगता है तो मुझे लगता है कि हमें इसे कठिन तरीके से करना होगा। आप दृश्य स्टूडियो में एक अलग डीएल संकलित कर सकते हैं ताकि आपके कंसोल एप्लिकेशन ने ठीक किया हो     प्रणाली ( "fileneme")

और फिर इसे चलाने के समय अपने फॉर्म एप्लिकेशन के साथ गतिशील रूप से लिंक करने के लिए सेट करें, और उम्मीद है कि आप इसे सही तरीके से प्राप्त करेंगे।

0
जोड़ा
क्या आपको नहीं लगता, यह विचार तर्क को थोड़ा कम कर रहा है?
जोड़ा लेखक BlackKnight, स्रोत
यह निश्चित रूप से सबसे आसान नहीं हो सकता है। लेकिन यह एक निश्चित शॉट है।
जोड़ा लेखक krish, स्रोत