मैं एक प्रोजेक्ट का हिस्सा है जो विंडोज प्रपत्र से कंसोल एप्लिकेशन को कैसे एक्सेस और चला सकता है। मेरे पास एक विंडोज़ फॉर्म और कंसोल एप्लीकेशन है। मुझे लगता है कि मैं कंसोल एप्लिकेशन प्रकाशित कर सकता हूं और फिर Process.Start(path to console app)
का उपयोग कर सकता हूं लेकिन यह वही नहीं है जो मैं चाहता हूं। मैं अपने फॉर्म प्रोजेक्ट में कंसोल एप्लिकेशन की Main
विधि का उपयोग और उपयोग करना चाहता हूं। यह विधि एक बटन पर एक क्लिक पर चलती है।एक फॉर्म एप्लिकेशन से कंसोल एप्लिकेशन की 'मुख्य' विधि को कॉल करना (बटन क्लिक ईवेंट द्वारा)
यह निम्न त्रुटि देता है।
InvalidOperationException was unhandled Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
private void buttonApplication_Click(object sender, EventArgs e)
{
Ch15Extra_2.Program.Main();
}
यहाँ तरीके हैं।
ConsoleApp:
namespace Ch15Extra_2
{
public class Program
{
public static void Main()
{
Console.WriteLine("Here the app is running");
Console.ReadKey();
}
}
}
Form1:
private void buttonApplication_Click(object sender, EventArgs e) { }
यह स्पष्ट नहीं है कि आप क्या होने की उम्मीद करते हैं। आप कहते हैं कि आप कंसोल एप्लिकेशन को स्टैंड-अलोन प्रक्रिया के रूप में शुरू नहीं करना चाहते हैं, लेकिन यदि आप इस तरह की विधि का आह्वान करते हैं, तो जाहिर है कि यह काम नहीं करेगा क्योंकि आप कंसोल एप्लिकेशन में नहीं हैं। WinForms ऐप में व्यवहार करने के लिए आप 'Console.ReadKey()' से कैसे अपेक्षा करेंगे? – Tudor
@ ट्यूडर मुझे लगता है कि कंसोल।ReadKey() एक रूप पर ज्यादा नहीं किया था। ठीक है, तो फॉर्म ऐप के लिए एक और प्रक्रिया खोलने के लिए कंसोल ऐप को कॉल करना संभव नहीं है, जो कंसोल ऐप के मुख्य तरीके से आ जाएगा। – somethingSomething
@Tudor जब मैं प्रपत्र अनुप्रयोग लिखा था मैं प्रपत्र नियंत्रण (एक बटन) – somethingSomething