C++

2012-01-20 11 views
5

संभव डुप्लिकेट काला खिड़की छिपाना:
Create an Application without a Window
Win32 programming hiding console windowC++

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

+1

यह मंच-निर्भर है। क्या आप विंडोज के बारे में बात कर रहे हैं? –

उत्तर

16

आप कंसोल को छिपाने के लिए चाहते हैं तो आप डेविड के रूप में उल्लेख किया है कि यह एक संक्षिप्त पल के लिए फ्लैश हो सकता है खिड़कियों

#include <Windows.h> 

int main() 
{ 
    FreeConsole(); 
    //other stuff 
} 

पर FreeConsole कॉल कर सकते हैं। यदि आप नहीं चाहते हैं कि आप एक windows service या एक खिड़कियों जीयूआई आवेदन बना सकते हैं और इस तरह

नीचे
#include <windows.h> 

int WinMain(HINSTANCE hInstance, 
        HINSTANCE hPrevInstance, 
        LPTSTR lpCmdLine, 
        int  nCmdShow) 
{ 
    //do stuff here 
    return 0; 
} 
+3

यह अभी भी एक विभाजित दूसरे –

+1

फ्री कंसोल के लिए कंसोल विंडो दिखाता है सोना! पारितोषिक के लिए धन्यवाद। मैं एक संक्षिप्त फ्लैश के साथ ठीक हूं ... – jzeus

5

यह समस्या की तरह लगता है एक खिड़की नहीं बना है कि आप एक सांत्वना आवेदन पैदा कर रहे है। ये डिफ़ॉल्ट रूप से एक कंसोल के साथ आते हैं। वे या तो उस प्रक्रिया के कंसोल का उत्तराधिकारी हैं जो उन्हें बुलाता है, अगर उसके पास है, या अन्यथा एक नया कंसोल बनाते हैं।

आपको अपने एप्लिकेशन को कंसोल उपप्रणाली के बजाय जीयूआई उपप्रणाली को लक्षित करना चाहिए। इसका मतलब यह नहीं है कि आपको कोई जीयूआई दिखाना है। यह एक ऐसा ऐप्लिकेशन बनाने के लिए पूरी तरह से उचित और सामान्य है जो GUI सबसाइटम को लक्षित करता है लेकिन कोई भी विंडो नहीं दिखाता है।

+0

यह भी ध्यान दें कि एक जीयूआई इसे लॉन्च नहीं कर सकता है या कंसोल (अगर कोई है) को पढ़ सकता है। –

+0

धन्यवाद मैंने इसके बारे में नहीं सोचा था! ; डी – jzeus

+0

@ डेविड लेकिन अगर मुझे केवल कंसोल आधारित ऐप की आवश्यकता है, लेकिन कंसोल विंडो को झटके के बिना, क्या यह हासिल किया जा सकता है? – foobar