2012-01-11 14 views
5

मैं एक आवेदन पत्र है, कि मैं इस तरह चलाना चाहते हैं:भागो आवेदन, अन्यथा जीत प्रपत्र अनुप्रयोग के रूप में चलाने

  • अगर आर्ग भेजा - मैं इसे सांत्वना आवेदन के रूप में व्यवहार करना चाहते हैं

  • अगर आर्ग नहीं भेजा - मैं इसे खिड़कियों के रूप में चलाना चाहते हैं रूपों आवेदन

मैं सांत्वना देने उत्पादन प्रकार सेट और जब जब आर्ग का पता नहीं मैं दृश्य शैलियों और runni सक्षम करने कर रहा हूँ एनजी। यह कंसोल विंडो को खोलता/बंद कर देता है और यह वास्तव में मुझे परेशान करता है, यह बहुत अच्छा काम करता है। क्या कंसोल विंडो नहीं दिखने का कोई तरीका है? मैं इसे बिल्कुल बनाने के लिए एक रास्ता तलाश रहा हूं।

+1

मैं इसे दूसरी तरफ कर दूंगा, इसे WinForms ऐप बनाएं, क्योंकि आप कुछ भी बनने से पहले कोड में आते हैं (आपके 'मुख्य' फ़ंक्शन में 'program.cs' में)। –

+0

http://www.rootsilver.com/2007/08/how-to-create-a-consolewindow –

+0

क्या आप इसे तीन निष्पादन योग्य में विभाजित कर सकते हैं? विंडोज ऐप के लिए एक, कंसोल ऐप के लिए एक और दूसरा दो में से एक बूट करने के लिए? जाहिर है, आपको अपने इंजन के लिए कक्षा पुस्तकालय बनाना होगा। –

उत्तर

4

मैं इसे एक और तरीके से कर दूंगा, इसे WinForms ऐप बनाएं, क्योंकि आप कुछ भी बनने से पहले कोड में आते हैं (प्रोग्राम.cs में आपके मुख्य कार्य में)।

यह लिंक देखें: http://www.rootsilver.com/2007/08/how-to-create-a-consolewindow

+0

ऐसा लगता है कि उपरोक्त लिंक टूटा हुआ है। क्या आपके पास कहीं और सामग्री साझा की जा सकती है? –

4
  1. एक Windows.Forms आवेदन बनाएं
  2. एक बाहरी समारोह

    [System.Runtime.InteropServices.DllImport("kernel32.dll")] 
    private static extern bool AllocConsole(); 
    
  3. जोड़े अपने आवेदन की मुख्य विधि में:

    if (windows_app) 
    { 
        Application.EnableVisualStyles(); 
        Application.SetCompatibleTextRenderingDefault(false); 
        Application.Run(new Form1()); 
    } 
    else 
    { 
        AllocConsole(); 
        Console.WriteLine("foo"); 
    } 
    
+0

यहां चुनौती यह है कि AllocConsole() उस कंसोल का उपयोग करने के बजाय एक नई कंसोल विंडो बनाने के लिए प्रतीत होता है जिसे आप ऐप चलाते हैं। "foo" नई विंडो में दिखाई देगा, जो तुरंत गायब हो जाता है क्योंकि ऐप इसके कमांड लाइन आमंत्रण से निकलता है। –

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